是否可以使 c shell 的用户输入超时?到目前为止,我的代码是:
#!/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
如果没有给出输入,我想执行一个shell脚本;如果没有,我想跳过这部分。不幸的是,skript 不会跳过输入部分,而是等待输入。这个问题有什么解决方案吗?非常感谢大家!!
尝试在tcsh shell中进行非阻塞用户输入:
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