[Linux] Linux での for および while のループ

Linux のループ

需要の背景:

ループで 5 回印刷し、毎回 1 秒スリープします

実現方法

for ループ

for ループは 5 回出力し、毎回 1 秒スリープします

これは次のコードで実現できます。

for i in {
    
    1..5}
do
  echo "Printing for the $i time"
  sleep 1
done

この例では、forループが 5 回実行され、毎回メッセージが出力され、1 秒待機します。{1..5}1 から 5 までの数値の範囲を表します。$i各ループで現在のループのカウンターの値が割り当てられる変数です。sleepこのコマンドは、プログラムの実行を一時停止して、指定された時間 (ここでは 1 秒) 待機します。

while ループ

コード:

#!/bin/bash

count=1

while [ $count -le 5 ]
do
    echo "Printing for the $count time"
    sleep 1s
    count=$((count+1))
done

コードを説明すると、次のようになります。

  • count=1: カウンタを 1 に初期化します。
  • while [ $count -le 5 ]: カウンタが 5 以下の場合、ループを実行します。
  • echo "Printing for the $count time": 現在のサイクル時間を印刷します。
  • sleep 1s:1秒ほど待ちます。
  • count=$((count+1)): カウンタに 1 を加えて次のサイクルに入ります。

スクリプトを実行すると、次の出力が表示されます。

Printing for the 1 time
Printing for the 2 time
Printing for the 3 time
Printing for the 4 time
Printing for the 5 time

講堂

Linux では、for ループと while ループがよく使用される 2 つのループ構造です。どちらもコードを繰り返し実行するために使用できますが、構文と使用シナリオは異なります。

  1. for ループ

for ループは、コードを一定回数繰り返し実行する反復ループです。for ループの構文は次のとおりです。

for 变量 in 序列:
    循环体

このうち変数はループ変数であり、シーケンス内の各要素をループ変数の値として順番に取得し、ループ本体内のコードを実行します。シーケンスは、リスト、タプル、文字列などの反復可能なオブジェクトにすることができます。

for ループの利点:

  • 手動でカウントせずにシーケンス内の要素を反復処理すると便利です。
  • ループ変数をループ本体で使用すると、データ処理が容易になります。

for ループの欠点:

  • 一定回数だけ繰り返し実行することができ、条件に応じてループを制御することはできません。
  • ループ本体内のシーケンスの要素を変更する必要がある場合、予期しない結果が生じる可能性があります。

for ループの使用シナリオ:

  • リスト、タプル、文字列などのシーケンス タイプのデータを走査します。
  • 一定数のループ操作を実行します。
  1. while ループ

while ループは、条件が true か false に応じてコード ブロックを繰り返し実行する条件付きループです。while ループの構文は次のとおりです。

while 条件:
    循环体

このうち条件は式であり、式の値が True の場合はループ本体内のコードを実行し、それ以外の場合はループから抜けます。

while ループの利点:

  • 状況に応じてループを制御することができ、より柔軟になります。
  • ループ本体で条件を変更して、より複雑なループ ロジックを実装できます。

while ループの欠点:

  • サイクル条件を手動で制御する必要があるため、無限ループなどの問題が発生しやすくなります。
  • 条件が正しくないと、ループが終了しない可能性があります。

while ループの使用シナリオ:

  • 条件に基づいてコードを繰り返し実行します。
  • 動的制御を必要とするループ ロジックを処理します。

要約:

for ループと while ループはどちらも一般的に使用されるループ構造であり、それぞれに独自の長所と短所、および使用シナリオがあります。実際のプログラミングでは、より効率的で柔軟なコード ロジックを実現するには、特定の状況に応じて適切なループ構造を選択する必要があります。

おすすめ

転載: blog.csdn.net/qq_41604569/article/details/131291283