下面是將會發生的情況,消息在指定時間內等待按鍵顯示,如果沒有按鍵,則會恢復。如何在bash中實現定時器按鍵?
例
「按ESC鍵退出,否則你會死.. 3..2..1」
「按 'X' 拖延和檢查電子郵件,閱讀一些博客,Facebook, Twitter ..否則,你將恢復工作12小時.. 3..2..1「
這應該是一個非常方便的功能。我如何在bash中創建這個功能?
下面是將會發生的情況,消息在指定時間內等待按鍵顯示,如果沒有按鍵,則會恢復。如何在bash中實現定時器按鍵?
例
「按ESC鍵退出,否則你會死.. 3..2..1」
「按 'X' 拖延和檢查電子郵件,閱讀一些博客,Facebook, Twitter ..否則,你將恢復工作12小時.. 3..2..1「
這應該是一個非常方便的功能。我如何在bash中創建這個功能?
查看bash手冊頁中的「讀取」命令並注意「-t timeout」選項。這樣的事情應該讓你開始
for i in 3 2 1 ; do
read -p $i... -n 1 -t 1 a && break
done
使用-t和讀取bash的內置命令的-n選項,也不要忘了-r和-s。 (詳見手冊)
#!/bin/bash
timeout=3
echo -n "Press ESC to exit, otherwise you will die..."
while [ $timeout -gt 0 ]; do
echo -n " $timeout"
if read -n1 -t1 -r -s x; then
echo
exit 0
fi
let timeout--
done
echo