【问题标题】:Prompt the user for input and cancel prompt after waiting for x seconds等待 x 秒后提示用户输入和取消提示
【发布时间】:2011-05-23 11:12:51
【问题描述】:

如果在预设时间内没有收到响应,我如何提示用户输入并继续执行我的脚本。

例如,这就像我现在拥有的一样:

read -p "Would you like to reboot? (y/n) " yn
case $yn in
    [Yy]* ) echo "shutting down"; break;;
    [Nn]* ) echo "cancelled shutdown"; break;;
    * ) echo "Please answer y or n.";;
esac

但是我希望提示在终端上停留 2 分钟,然后如果没有收到响应,则继续执行我的脚本。

我有一个模糊的想法,认为这可以通过在子 shell 中运行输入来实现,但我不知道如何同时运行超时。超时伪代码可能类似于:

sleep 200s
kill the prompt
continue... 

【问题讨论】:

    标签: bash shell scripting timeout


    【解决方案1】:

    使用read-t 选项。

    【讨论】:

      猜你喜欢
      • 2018-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      • 2014-11-01
      • 1970-01-01
      相关资源
      最近更新 更多