を入力してと入力してread
を入力し、sleep
に電話をかけます。しかし、私は同時に両方の方法を考えることはできません。Enterキーを押すか、10秒間待ち続ける
押しCtrlキー + Cは、私はそれをどのように行うことができます
継続するを入力するか、わずか10秒
を待つ 、キャンセルする:私は選択肢を与えられることに、ユーザーが好きなのでしょうか?を入力してと入力してread
を入力し、sleep
に電話をかけます。しかし、私は同時に両方の方法を考えることはできません。Enterキーを押すか、10秒間待ち続ける
押しCtrlキー + Cは、私はそれをどのように行うことができます
継続するを入力するか、わずか10秒
を待つ 、キャンセルする:私は選択肢を与えられることに、ユーザーが好きなのでしょうか?bash
で行います、read
は、あなたがタイムアウトを指定することができ-t
オプションがあります。 manページから:
read [-ers] [-u fd] [-t timeout] [-a aname] [-p prompt] [-n nchars] [-d delim] [name ...]
-t timeout:
原因は、アウト時に読み込まれ、入力の完全なラインがタイムアウト秒以内に読まれていない場合は失敗を返します。このオプションは、読み込みが端末またはパイプからの入力を読み取っていない場合は無効です。
(ENTER押すことなく)、以下のトランスクリプト:
$ date ; read -t 10 -p "Hit ENTER or wait ten seconds" ; echo ; date
Tue Feb 28 22:29:15 WAST 2012
Hit ENTER or wait ten seconds
Tue Feb 28 22:29:25 WAST 2012
もう、数秒後にEnterキーを押す:
$ date ; read -t 10 -p "Hit ENTER or wait ten seconds" ; date
Tue Feb 28 22:30:17 WAST 2012
Hit ENTER or wait ten seconds
Tue Feb 28 22:30:19 WAST 2012
別、CTRL-Cを押す:
$ date ; read -t 10 -p "Hit ENTER or wait ten seconds" ; echo ; date
Tue Feb 28 22:30:29 WAST 2012
Hit ENTER or wait ten seconds
read
内蔵のタイムアウトがあります。
read -t 10
はそれが
read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt]
[-t timeout]
[-u fd] [name ...]
このような詳細な回答が与えられたとき、私は絶対にそれを愛します。あなたへの誇り! – Brian
ubuntu。 -t - 不正なオプション – ses
@sesの場合、外部ツールではなくbash組み込み関数を使用していることを確認してください。 – paxdiablo