2010-12-10 22 views
3

如何在提示用戶輸入並在預設時間內未收到響應時繼續執行腳本。提示用戶輸入並在等待x秒後取消提示

例如,這是像我有什麼的時刻:

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... 

回答

2

使用的read-t選項。

+0

輝煌而簡單。謝謝 – Inti 2010-12-10 12:44:48

相關問題