HOWTO · Bash

Bash で無限ループを作成する

このチュートリアルでは、Bash で無限ループを作成する方法について説明します。

このページの内容

さまざまな目的で無限ループを使用します。この記事では、while と for を使用して Bash で無限ループを作成する方法を学習します。

また、わかりやすくするために、適切な説明が付いた例をいくつか紹介します。

Bash の 1 行のコマンドで while を使用して無限ループを作成する

無限ループを設計する最も基本的な方法は、while ループに真の条件を提供し、コードブロック内で条件を偽にしないことです。無限の while ループの一般的な形式は次のとおりです。

while true; do YOUR BLOCK OF CODES; done

以下は、無限ループである 1 行のコードです。この例のコードは次のとおりです。

while true; do echo "Hello World"; sleep 2; done

ここでは、ラインの sleep 2 の部分に気付くことができます。行のこの部分の目的は、コンソールが 2 秒でいっぱいにならないように 2 秒待つことです。

コードを実行すると、次のような出力が得られます。

Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World

Bash で複数行のコマンドを使用して while を使用して無限ループを作成する

この例では、コード構造を 1 行から複数​​行に再編成するだけです。以下はサンプルコードです。

while true
do
   echo "Hello World"
   sleep 2
done

上記のコードは、前の例と同じ結果を示しています。ここでも同じ目的で sleep 2 という行を使用しました。

コードを実行すると、次のような出力が得られます。

Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World

Bash で for を使用して無限ループを作成する

無限ループを作成するこの代替方法では、for ループを使用します。ここで行う必要があるのは、コードから条件部分を削除することだけです。

for ループの一般的な構文は次のとおりです。

for(( INITIALIZE; CONDITION; INCREMENT )); do YOUR BLOCK OF CODES done

この例のコードを見てみましょう。

for(( i=0; ;++i ));
do
   echo "Hello World"
   sleep 2
done

これにより、前の例と同じ出力も提供されます。for ループから条件部分を削除したばかりで、上記の例と同じ目的で sleep 2 という行を使用したことがわかります。

コードを実行すると、次と同じ出力が得られます。

Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World

この記事で使用されているすべてのコードは Bash で記述されていることに注意してください。Linux シェル環境でのみ機能します。