まめぞうの技術メモ

IT関連で勉強したことをメモします

bashでwhile無限ループを1行コードで書く方法

シェル(bash)で無限ループを1行コードで書く方法をメモしておきます。

何度か「あれ?どうやって 1 行で書くんだっけ?」と思ったことがあるので、今後のために。

bashで無限ループ(1行コード)サンプル

  • 1秒おきに「test」と無限ループを続けるシェル1行コードです。

コード

 while true; do  echo test; sleep 1s; done

結果

  • 延々と「test」が出力されていますね。

bashで無限ループ

改行はセミコロンで表現しよう

  • サンプルコードを改行したら、以下のようになります。
  • セミコロンで改行を表していたことがわかります。
while true
do echo test
sleep 1s
done

そもそもbashでwhileループってどう書くの?

  • 以下のようにwhileループを表しますよ!
while 条件式
do ループで行う処理
done

まとめ 1行で無限ループを書けるとかっこいい

ぼくがこの1行ループを書きたいと思ったのは、プロセス確認用のコマンドを、手動で何回も「↑」キーを押して同じコマンドを実行していたので、「だっせ~」と思ったからです。

単純な話なんですが、無限ループワンラインコマンドを覚えて、ちゃちゃっと使えるようにすれば、周りのエンジニアにも格好がつけられるかもしれません。