ループはどのプログラミング言語でも重要な構造であり、通常のコードで実行するのは面倒で時間がかかる反復的なタスクを実行する役割を果たします。 bashスクリプトでは、ループは同じ目的を果たします。このガイドでは、さまざまなタイプのループとその使用方法について詳しく見ていきます。
Forループ
Forループは、オブジェクトまたはアイテムのリストを反復処理するために使用されます。リストには、数字、文字列、文字、さらには配列を含めることができます。
forループは次の構造を取ります。
for item in list_of_items do command1 command2 done
いくつか例を見てみましょう:
文字列のリストをループする
以下の例では、4つのアイテムで構成される文字列(この場合は惑星)のリストを繰り返し処理しています。繰り返しの後、エコーを使用して、失われたアイテムに各アイテムを印刷します コマンド。
for planet in Mercury Venus Earth Mars Jupiter do echo $planet done
次に、実行権限を割り当て、 for_loop.shを実行します bashスクリプト。出力には、リストに含まれるすべてのアイテムが表示されます。
$ ./for_loop.sh
数値の範囲をループする
forループでは、提供されているシーケンス式を使用して開始点と終了点を定義することにより、数値の範囲でシーケンスを指定することもできます。
{START..END}
以下の例は、1から10までの数字を表示するforループを示しています
for n in {0..10} do echo value: $n done
ループを実行すると、表示された出力が得られます。
さらに、次のシーケンス式を使用して、値間の段階的な増分の数を指定できます。
{START..END..STEPWISE_INCREMENT}
たとえば、以下のループは、値の間に2のステップ増加で1から10までの数値を表示します。
for n in {0..10..2} do echo value: $n done
ループを実行すると、次の出力が生成されます。
要素の配列をループする
また、forループを利用して、アイテムの配列を反復処理することもできます。たとえば、ここには、映画のタイトルであるさまざまな要素を持つ「MOVIES」という配列があります。
#!/bin/bash MOVIES=('Happy Feet' 'Who killed Sara' 'Lupin' 'Money Heist' 'House of cards') for movie in "${MOVIES[@]}"; do echo Movie: $movie done
スクリプトが実行されると、forループは配列全体を繰り返し処理し、図のように映画のタイトルを出力します。
概要
ご覧のとおり、forループは非常にシンプルで便利です。ユーザーにとって時間のかかる反復的なコードを排除することで、よりクリーンなコードを作成します。繰り返しの作業は、数行で簡単に実行できます。