Bashでのループ操作


1.ループの目的は、配列、複数のファイル、変数の操作に主に使用される命令を繰り返すことです.
2.Bashには、for、while、untilの3種類のループ文があります.
2.1 for文
for文には2つの構造があります.
(1):

  
  
  
  
  1. for list in data_list; do command; done 


ここでdata_リストで検討してみましょう
datalistは{1,2,3,10},{1..10}, 1 2 3 4,
Datalistは{1..3,4,5},(1,2,3),[1,2,3],{1 2,3 4}であってはならない.
上記の式ではlistを$iと書くのではなく、変数の名前と書くしかありません.Bash 4.0+以上のバージョンでは、{1.1.10..2}は、1~10のすべての奇数を出力しますが、以下のバージョンではこの機能はありません.
特殊なのは

  
  
  
  
  1. for i in $(seq 1 2 20); do command; done 
  2. for i in $(seq 1 -2 -10);do command; done 

と書くこともできます

  
  
  
  
  1. for i in `seq 1 2 10`; do echo $i; done; 
  

ここで``と$()の2つの記号はbashのコマンドを含むために専用に装備されています.
(2)   : 

  
  
  
  
  1. for (( exp1; exp2; exp3)); do command; done 

ここでexp 1はカウンタの初期化である.exp 2はサイクル終了判定文である.exp 3はカウンタ加算動作である.(i=0;i<=10;i++))および(i=0;i>=-10;i-))が一般的である.
注意:次のスタイルは代替として使用できます(セミコロンの位置に注意)

  
  
  
  
  1. (1***)for _________ 
  2.  
  3.       do command; done 
  4. (2***)for _________ 
  5.       do command 
  6.       done
  7. (3***)for _________
  8. do
  9. command
  10. done

 
2.2 while文
while文の一般的な表現は

  
  
  
  
  1. while [ condition ] or [[ condition ]] #cannot be {}or () 
  2. do 
  3. command 
  4. done 

特に、ここで[]内の式は[または]に近づくことができず、否定側のプログラムが間違っていることに注意してください.通常のcommandのカウンタは、((i++))および((i-))であることができる累積が必要である.
2.3 until文
until文は基本的にwhileと同じ使い方ですが、違いはwhileのconditionが満足しているときはプログラムが進行し、untilのconditionが満足していないときはプログラムが進行します.