tail
ищет новые строки, а не смены строк:
-f, --follow[={name|descriptor}]
output appended data as the file grows;
Если вы хотите проверить это поведение самостоятельно, вы можете использовать эту команду для изменения строки вtestfile
:
while true ; do
sed "s/^.*$/$(date)/" -i testfile
sleep 1
done
Вы можете использовать цикл Wile для проверки изменений строки:
while true ; do
grep -q "^[1-9]" /proc/loadavg && echo "$message"
sleep 1
done
Вы можете написать "счетчик тайм-аута" в функцию, и если она завершится первой, это уничтожит скрипт, иначе будет уничтожена сама функция.
run_tout_counter() {
sleep 10 & wait
echo timeout
rm /tmp/toutPID
kill -s SIGINT $processPID
}
export processPID=$$
run_tout_counter & echo $! > /tmp/toutPID
read -p "type input:" A && ps $(cat /tmp/toutPID) >/dev/null
excode=$?
if [[ $excode == 0 ]] ; then kill -s SIGINT $(cat /tmp/toutPID) ; fi && rm /tmp/toutPID