1. ホーム
  2. bash

[解決済み] Bashでの単一行whileループの構文

2022-03-21 15:51:16

質問

セミコロンと中括弧の適切な組み合わせに困っています。これをコマンドラインからワンライナーで実行したいのですが、どうすればよいでしょうか?

while [ 1 ]
do
    foo
    sleep 2
done

解決方法は?

while true; do foo; sleep 2; done

ちなみに、コマンドプロンプトで(表示されているように)複数行で入力し、矢印↑で履歴を呼び出すと、1行で表示され、正しく句読点が打たれます。

$ while true
> do
>    echo "hello"
>    sleep 2
> done
hello
hello
hello
^C
$ <arrow up> while true; do    echo "hello";    sleep 2; done