Skip to main content

Bash WHILE-Loopsを書く方法

Why Not to Put Exhaust Headers on Your Car (六月 2026)

Why Not to Put Exhaust Headers on Your Car (六月 2026)
Anonim

一連のコマンドは、スクリプトファイルに書き込んで実行することで実行できます。

スクリプトファイルは、通常は.SHファイル拡張子を持つテキストファイルで、コマンドライン(シェル)から実行できる一連の命令が含まれています。

whileループの例

以下は、whileループの例です。実行されると、このスクリプトファイルは1〜9の数字を画面に表示します。 while文は、forループよりも終了条件を指定する柔軟性があります。

たとえば、インクリメントステートメント "((count ++))"を省略すると、前のスクリプトを無限ループにすることができます。

「スリープ1」ステートメントは、各繰り返しで1秒間実行を一時停止します。 Ctrl + Cキーボードショートカットを使用してプロセスを終了します。

コロンを条件として無限ループを作成することもできます:

whileループで複数の条件を使用するには、二重角カッコ表記を使用する必要があります。

このスクリプトでは、変数 "done"は0に初期化され、カウントが5に達すると1に設定されます。ループ条件では、 "count"が9未満で "done"が等しいゼロにする。したがって、カウントが5になるとループが終了します。

"&&"は論理的な "and"と "||"論理「または」を意味する。

条件中の接尾辞 "and"と "or"の代わりの表記法は、 "-a"と "-o"で、大括弧で囲まれています。上記の条件:

…は次のように書き直すことができます:

テキストファイルの読み込みは通常、whileループで行われます。次の例では、bashスクリプトは、 "inventory.txt:"というファイルの行ごとに内容を読み取ります

最初の行は、入力ファイル名を "FILE"変数に割り当てます。 2行目は、ファイル記述子 "6"に "標準入力"を保存します(3から9までの任意の値)。これは、スクリプトの最後に "標準入力"をファイル記述子 "0"に復元できるようにするためです(ステートメント "exec 0 3行目で入力ファイルがファイル記述子" 0 "に割り当てられています"read"ステートメントは各反復でファイルから行を読み取り、それを "line1"変数に代入します。

早期にwhileループを終了するには、次のようにbreak文を使用します。

breakステートメントはループ実行中にプログラムの実行をスキップし、それに続くステートメントを実行します。この場合、ステートメント "echo finished"と表示されます。

一方、continueステートメントは、現在の反復のwhileループステートメントの残りの部分だけをスキップし、次の反復に直接ジャンプします。

この場合、変数 "count"が5に達すると "continue"文が実行されます。これは、次の文(echo "$ count")がこの繰り返しで実行されないことを意味します( "count"の値が5の場合)。