1
Это цикл, который должен отсчитывать 10 секунд ($rtime
). Если вы хотите вырваться из цикла раньше, вам нужно будет ввести n. Могу ли я как-то не дождаться, пока чтение не получит вход, потому что в данный момент цикл всегда застревает при чтении и ждет там для ввода.Shell Script - не дождаться прочитанного
ct=$(date +"%s")
while [ $(($ctn - $ct)) -le $rtime ] ; do
ctn=$(date +"%s")
read r
if [ "$r" = "n" ] ; then
break
fi
done
Или просто используйте 'read -t $ rtime r' и полностью избегайте цикла здесь (хотя это будет ломаться на любом входе не только' n'. –
Конечно, но вы можете сделать что-то еще в цикле (например, напечатайте обратный отсчет), поэтому я пошел на этот вариант :) – psmears
спасибо за быстрый ответ! да, в цикле есть и другие вещи. :) – TheCheatsrichter