Используя GNU Parallel, вы можете сделать:
lynx -dump ~/site_source_file.htm |
perl -ne '/^References/ .. 0 and /^\s+\d+..(view-source: )?(.*)/s and print $2;' |
parallel -j50 wget
У меня была аналогичная проблема, и я нашел обходной путь. Вместо использования spd-say я напрямую использовал espeak.
spd -say требует подходящей среды оболочки. cron не выполняет задачи в вашей обычной среде оболочки.
Вы можете попробовать изменить свой скрипт, как в этом примере:
#!/bin/bash
source $HOME/.profile
sez ()
{
echo $1
spd-say "$1"
}
sez "does this work"
sez "this does work"
См. также этот вопрос для получения дополнительной информации:http://unix.stackexchange.com/questions/67940/cron-ignores-variables-defined-in-bashrc-and-bash-profile