1

これが何が起こるかです。指定された時間キーが押されるのを待っているメッセージが表示されます。キーが押されない場合は再開します。

「終了するには ESC を押してください。そうしないと死んでしまいます.. 3..2..1」

「'x' を押して先延ばしにして電子メールをチェックし、いくつかのブログ、フェイスブック、ツイッターを読んでください..そうしないと、12 時間仕事を再開することになります..3..2..1」

これは本当に便利な機能です。この機能を bash で作成するにはどうすればよいですか?

4

2 に答える 2

6

「read」コマンドの bash man ページを見て、「-t timeout」オプションに注目してください。このような何かがあなたを始めるべきです

for i in 3 2 1 ; do 
    read -p $i... -n 1 -t 1 a && break
done
于 2009-12-22T02:01:34.533 に答える
3

read bash 組み込みコマンドの -t および -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
于 2009-12-22T02:03:52.190 に答える