shellループ文for/don/doneとwhile/do/doneおよびbreak,continue

1222 ワード

for/do/done
Shellスクリプトのforループ構造はC言語とは異なり、いくつかのプログラミング言語のforeachループに似ています.例:
 #! /bin/sh

    for FRUIT in apple banana pear; do
      echo "I like $FRUIT"
    done
FRUIT       ,     $FRUIT    apple,      banana,      pear。   ,        chap0、chap1、chap2      chap0~、chap1~、chap2~ (   ,   ~            ),         :


for FILENAME in chap?; do mv $FILENAME $FILENAME~; done

次のように書くこともできます.
for FILENAME in `ls chap?`; do mv $FILENAME $FILENAME~; done

while/do/done
whileの使い方はC言語と似ています.たとえば、パスワードを検証するスクリプトです.
  #! /bin/sh

    echo "Enter password:"
    read TRY
    while [ "$TRY" != "secret" ]; do
      echo "Sorry, try again"
      read TRY
    done

次の例では、演算によってサイクルの回数を制御します.
  #! /bin/sh

    COUNTER=1
    while [ "$COUNTER" -lt 10 ]; do
      echo "Here we go again"
      COUNTER=$(($COUNTER+1))
    done

Shellにはuntilループもあり、C言語のdoに似ています.whileサイクル.本章は省略する.
breakとcontinue
break[n]はいくつかのループから飛び出すことを指定することができ、continueは今回のループステップをスキップし、ループ全体を飛び出さなかった.
break飛び出し、continueスキップ.