/ / Тайм-аут введення користувачем оболонки csh - введення, час очікування, csh

Час виходу користувача csh shell - вхід, тайм-аут, csh

Чи можливий тайм-аут для введення користувачем оболонки c? Поки що мій код:

    #!/bin/csh -f


set COUNT = 5
printf "INFO: Start ok (0/1)? "
set INPUT = 0

while ($COUNT > 0 && $INPUT == 0)
printf "b%d" "$COUNT"
set INPUT = <$
sleep 1
@ COUNT --
end

if ($INPUT == 1) then
./execute.sh
end

Якщо введення не дано, я хочу виконати оболонкусценарій; якщо ні, я хочу пропустити цю частину. На жаль, скрипт не пропускає вхідну частину, але чекає введення. Є рішення цієї проблеми? Велике спасибі хлопці !!!

Відповіді:

0 для відповіді № 1

спробуйте це для неблокуючого вводу користувача в оболонці tcsh:

set TMPFILE = `mktemp`
set COUNT = 5
printf "INFO: Start ok (0/1)? "
stty -F /dev/tty -icanon
while ($COUNT > 0 && -z $TMPFILE)
printf "b%d" "$COUNT"
sleep 1
(dd bs=1 count=1 iflag=nonblock > $TMPFILE) >& /dev/null
set INPUT = `cat $TMPFILE`
@ COUNT--
end
stty -F /dev/tty icanon
echo ""
if ("$INPUT" == "1") then
./execute.sh
endif