Bashのreadをタイムアウトで使うには?
2023-09-13 11:52:04
質問
ユーザーに
Enter
を使うことで
read
を呼び出すことで、彼を待たせることができます。
sleep
. しかし、両方を同時に行う方法は思いつきません。ユーザーに選択肢を与えてほしいです。
プレス Ctrl + C をクリックするとキャンセルになります。 入力 で続行、または10秒待つ
どうすればいいのでしょうか?
どのように解決するのですか?
で
bash
,
read
には
-t
オプションがあり、ここでタイムアウトを指定することができます。manページより。
read [-ers] [-u fd] [-t timeout] [-a aname] [-p prompt] [-n nchars] [-d delim] [name ...]
-t timeout:
タイムアウト時間内に入力の完全な行が読み込まれない場合、read をタイムアウトさせて失敗を返すようにする。 このオプションは、read がターミナルやパイプから入力を読み込んでいない場合には、何の効果もない。
以下に書き写します (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
関連
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Bash prints リテラルの改行をエコーする \n
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで文字列をデリミターで分割するには?
-
[解決済み】Bashでファイル名と拡張子を抽出する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Ansibleで新しいユーザーとパスワードを作成する
-
[解決済み] bashを使って関数の出力を変数に代入するにはどうすればよいですか?
-
[解決済み] bashスクリプトを一行ずつ実行するには?
-
[解決済み] 接頭辞・接尾辞を使った名前の変更方法について教えてください。
-
[解決済み] bashでHMAC-SHA1
-
[解決済み] bash スクリプトで ENTER キー押下をシミュレートする
-
[解決済み] bashでファイルが存在するかどうかをテストするためのWhileループ
-
[解決済み] zip アーカイブの中の1つのファイルを更新する方法
-
[解決済み] Bashでforループを書くには?
-
[解決済み] ファイル名の一部をリネームする [重複]。