使用户输入 csh 外壳超时



是否可以使 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

相关内容

  • 没有找到相关文章

最新更新