Unix / Linux-Shellループタイプ

この記事では、UnixのShellループについて説明します。 ループは、一連のコマンドを繰り返し実行できる強力なプログラミングツールです。 この記事では、Shellプログラマーが利用できる次のタイプのループについて説明します。

  • whileループ
  • forループ
  • ループまで
  • 選択ループ

状況に応じて異なるループを使用します。 例えば、whileループは、指定された条件がtrueのままになるまで指定されたコマンドを実行します。それ以外の場合は、ループを実行します。 指定された条件がtrueになるまで、ループが実行されます。

優れたプログラミング習慣を習得すると、状況に応じて適切なループの使用を開始するための専門知識を習得できます。 whileループとforループは、その他のほとんどのプログラミング言語(C、C ++、PERLなど)で使用できます。

ネストされたループ(入れ子)

すべてのループはネストの概念をサポートしています。つまり、あるループを別の類似または異なるループに配置できます。 要件に応じて、このネストは無制限で実行できます。

これは、ネストされたwhileループの実例です。 その他のループは、プログラミング要件に従って類似の方法でネストできます。

ループのネスティング

whileループは、別のwhileループの本体の一部として使用できます。

構文

while command1 ; # this is loop1, the outer loop
do
   Statement(s) to be executed if command1 is true

   while command2 ; # this is loop2, the inner loop
   do
      Statement(s) to be executed if command2 is true
   done

   Statement(s) to be executed if command1 is true
done

実例

以下のは、ループの入れ子の実例です。 9までカウントするために使用するループ内に別のカウントダウンループを追加します。

#!/bin/sh

a=0
while [ "$a" -lt 10 ]    # this is loop1
do
   b="$a"
   while [ "$b" -ge 0 ]  # this is loop2
   do
      echo -n "$b "
      b=`expr $b - 1`
   done
   echo
   a=`expr $a + 1`
done

これにより、次の結果が得られます。 echo-nがどのように機能するかを理解してください。 -nオプションを指定すると、echoは改行文字の出力を回避できます。

0
1 0
2 1 0
3 2 1 0
4 3 2 1 0
5 4 3 2 1 0
6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
8 7 6 5 4 3 2 1 0
9 8 7 6 5 4 3 2 1 0
Share

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です