この記事では、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
コメントを残す