скрипт оболочки с tail / grep не работает при запуске через cron - Mint 18.1 - PullRequest
0 голосов
/ 09 ноября 2018

Запуск моего скрипта в терминале работает нормально. Он также отлично работает в Mint 18.2 при запуске при загрузке через /etc/rc.local, но в Mint 18.1 он не работает. Также на 18.1 он не будет работать через sudo crontab -e. Я предполагаю, что это как-то связано с частью tail / grep.

Вот соответствующая часть моего скрипта - до этого момента скрипт работал;

# Takes a screen capture every time I type a string that matches one from a list
sudo -i tail -fn0 "$path"k.log | \
while read line ; do
    echo "$line" | egrep --line-buffered -i -e "$pattern"
    if [ $? = 0 ]
    then
        matches=$(echo "$line" | egrep --line-buffered -i -o "$pattern")
        cap_split=$(echo "$matches" | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/ /g')
        cap_string=$(echo "$cap_split" | sed -e 's/[^A-Za-z0-9\\n._-]/_/g')
        sleep 1
        DISPLAY=:0.0 scrot "$path"cap/"$stamp"_"$cap_string".png
        echo -e "### Match found \"$cap_split\" and cap created ###"
    fi
done

Почему он будет работать только в терминале на Mint 8.1, а не от rc.local или cron?

...