Запуск моего скрипта в терминале работает нормально. Он также отлично работает в 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?