ShellScriptで処理をループさせる方法

yupix

!!! warning この解説ではbashを使用することを前提としています。

概要

ShellScriptで処理を複数回、または永続的にループさせたい、と思う方は多いはずです。今回はそんなときに役に立つテクニックを紹介します。

どんな書き方があるの?

まず、ShellScriptで多く知られている手段としてはいかが挙げられます。

  • for
  • while

大体はこの2つだけで簡単に処理のループが行えます。

whileを使った無限ループ

ではさっそく、while文を使用して処理をループさせてみましょう。 whileの書き方は以下のとおりです。

1
2
3
4
while :; do
  echo "Hello World"
  sleep 1
done

さてまず、1行目から解説です。 while :; doを解説しましょう。 ifには[]で条件をつけることができるのは皆様ご存知でしょうか? 今回の場合:となっている部分を[]にする事で条件をつけることが可能です。 次に2行目、言わずもがなechoですね。 次に3行目、あまりにも早いと迷惑なので、sleepで間隔を空けています。 最後に4行目はwhileの閉じタグの様なものです。

参考

ArchWiki

サポート

Discord

Built with Hugo
テーマ StackJimmy によって設計されています。