GNU/Linux >> Linux の 問題 >  >> Linux

Bash FOR ループの説明と簡略化

ループは、一連のステートメントを繰り返し繰り返すために使用されます。 Bash の FOR ループは、反復に使用される最も基本的なタイプのループです。これ以外にも、while ループと do-while ループの 2 種類のループがあります。コード内で 1 つのステートメントを複数回実行するとします。あなたは何をしますか?実行するコードで何度も書き直しますか?もちろんそうではありません。代わりにループを使用します。

Bash とは?

Bash は、Brian Fox によって作成されたコマンドライン言語です。 Ubuntu、Fedora、Kali Linux などの最も人気のある Linux ディストリビューションを含む多くの Linux ディストリビューションで使用され、Linux のデフォルトのログイン シェルとして使用されます。

Bash は、ユーザーがさまざまな命令セットを入力してタスクを実行および実行できるコマンドライン インターフェイス (CLI) を提供します。後で説明するシェル スクリプトと呼ばれるファイルからコマンドを実行する別の方法もあります。

Bash FOR ループとは?

コマンド ラインで FOR ループを使用すると、一連のステートメントを数回繰り返すことができます。プログラマによって指定されたいくつかのステートメントの反復が発生します。このループは、さまざまな点で多くのプログラマーにとって便利です。それらはさまざまなタスクを自動化するのに役立ち、複雑な問題でそれを超えることができます.ループについて深い知識を持っている人は、それを利用して驚くべきことを行うことができます。

Bash の FOR ループ構文

FOR ループは、一連の変数を繰り返し処理する最も単純なループの 1 つです。for ループの一般的な構文を以下に示します。

for VARIABLE in 1 2 3 4 5 .. N

Run the below command:

command1

command2

commandN

done

bash では、上記の構文は次のように与えられます;

#!/bin/bash

for i in 1 2 3 4 5

do

echo "Hy $i"

done

上記の手順を実行すると、次のような結果が得られます:

Hy 1

Hy 2

Hy 3

Hy 4

Hy 5

#!/bin/bash - 以下のコードが Bash コーディングの一部であることを検証します。上記の bash コードで使用した各要素を分割してみましょう。各要素の簡単な紹介を以下に示します:

  • - i は、変数の場所を保持するものです。 m/$m のように他の名前を書くこともできます。
  • - 「in」は、変数と指定された入力項目の両方を区切ります。
  • 1 2 3 4 5 - これらは、操作するために割り当てている入力番号です。
  • する - 「do」の目的は、ループ実行を開始することです。上記の例では、「N」はループの繰り返し実行回数を表すために使用されます。上記の場合、番号は 5 に割り当てられます。
  • Echo "Hy $i" - これは、繰り返し実行する実際のコードまたは命令です。 5 回のループが完了すると、実行は自動的に停止します。
  • 完了 - これは、実行後にループを停止することを指します。

コードは、実行している bash のバージョンに応じて異なる形式で記述できます。使用しているバージョンが v3.0+ の場合、「..」 を使用して範囲を簡単に短縮できます。

次のコードを見てください:

#!/bin/bash

for i in {1. .5}

do

echo "Easy $i"

done

もう 1 つのことは、新しいバージョン (v4.0+) でできることはインクリメントです。開始項目、終了項目、または任意の番号を簡単に指定してから、必要な増加を指定できます。その構文は次のとおりです:

{開始。 。終わり。 .INCREMENT}

コード例を見てみましょう:

#!/bin/bash

for i in {0..8..2}

do

echo "Easy $i"

done

上記のコード例では、開始番号として 0 を取得し、入力として指定された終了番号は 8 で、その後に 2 のインクリメントが続きます。実行後の結果は次のようになります。

Easy 0

Easy 2

Easy 4

Easy 6

Easy 8

bash for loop に関する例

bash の FOR ループを使用して、多くの操作を実行できます。注意すべきことの 1 つは、bash ファイルの場合、ファイルの拡張子は 「.sh」にする必要があるということです。 デスクトップに bash ファイルがない場合は、次のコマンドを実行して新しいファイルを簡単に作成できます:

Vim filename.sh

上記のコマンドで新しいファイルが作成され、コードを記述できる vim エディターで開かれます。

Bash の無限 FOR ループの作成

無限ループでは、Control + C を押して自分で停止するまで、または停止しない限り、ループは実行され続けます。

#!/bin/bash

for (( ; ; ))

do

echo "Hello There!"

done

上記の例では、指定された文字列は、自分でループを停止するまで何度も実行されます。

3 つの式のループ

3 つの式ループは、EXP1 と呼ばれる初期化式を含む 3 つの式で構成されます。 、条件 (EXP2 ) とカウント式 (EXP3) )。このループは、コード構造が似ているため、C 型ループとも呼ばれます。構文を見てください:

for (( EXP1; EXP2; EXP3 ))

do

command1

command2

command3

done

bash for ループの 3 つの式ループの例:

#!/bin/bash

for (( c=1; c<=5; c++ ))

do

echo "Hy $c"

done

上記のコードによると、開始値が 1 であることが示されています。ループは条件 (EXP2) が真になるまで実行され続け、上記のコードの ++ 記号は 1 ずつ増加することを示します。ループは再び繰り返されます。最初の値から開始します。

コードの実行後、結果は次のようになります。

Hy 1

Hy 2

Hy 3

Hy 4

Hy 5

Skip and Continue bash FOR ループの作成

スキップして続行するループは、特定の値のループをスキップして、別の値からループを続行する場合に使用されます。構文は次のとおりです:

for I in 1 2 3 4 5

do

if [condition]

then

continue #Go to next iteration of I in the loop and skip statements3

fi

statement

done

次のようなスキップ アンド コンティニュー ループを簡単に作成できます。

for i in {1..5}

do

if [[ "$i" == '4' ]]

then

continue

fi

echo "Hy $i4"

done

実行後に得られる結果は次のようになります:

Hy 1

Hy 2

Hy 3

Hy 5

コードからわかるように、値 4 は continue ステートメントに対応していたため、ループは値 5 に移動しました。

ブレーク ループを使用した条件付き終了の作成

ブレーク ループを使用した条件付き終了では、指定された条件を満たしたときに操作を中断できます。構文を見てください:

for I in 1 2 3 4 5

do

if [condition]

then

break

fi

statement

done

条件を終了してからループを中断するコード例を見てみましょう:

for city in Karachi Munich NewYork Paris

do

 if [[ "$city" == 'NewYork' ]]; then

   break

 fi

 echo "city: $city"

done

コードを注意深く実行すると、次の出力が得られます。

city: Karachi

city: Munich

上記のコードのステートメントは、条件が true になるとループが中断されることを示しています。最初のステートメントを実行した後、「とても簡単です!」という文字列を出力します。

結論

この記事に示されている Bash の FOR ループは、IT に携わるかどうかに関係なく、日常のタスクを自動化するのに非常に役立ちます。これらは簡単な例ですが、これらのループを使用してできることは他にもたくさんあります。基本について学習したので、より高度なレベルに進み、より複雑なタスクに大きなループを使用する方法を学習できます。

必要なのは、構文を書き留めることです。基礎の紹介はとても役に立ちます。この記事では、主に Bash の For ループについて説明しましたが、習得が必要な他のループについても次の記事で説明します。


Linux
  1. Bash For Loopsの「do」キーワードの目的は?

  2. Bash Forループを並列化しますか?

  3. ループの維持 – Bash For、While、Until ループの例

  1. コマンドラインでの毎日のBashのヒント

  2. BashForループガイドと例

  3. Bash for ループの例

  1. Linuxスクリプト:Bashでのwhileループの3つのハウツー

  2. Bash の For ループと While ループの例

  3. bashでループの終了ステータスを取得する方法