Section Next | Prev


3.4.4 繰り返し(for)

for は in に続くリスト(値の並び, または配列) を順に変数に代入し、 リストの要素全を代入しおわるまでループします。
また、 while 文と同じように break と continue を組み込む事ができます。
【文法1】
	for 変数名 in リスト
	do
		コマンド群
	done

【例】[GetSample]
	$ cat -n chx
		1 #! /bin/bash
		2 # @(#) Change mode sample
		3
		4 for f in $*
		5 do
		6	chmod u+x $f
		7	echo "File changed `ls -ld $f`"
		8 done

	$ ls -l a b
	-rw-r-----   1 yakoshi	os2	     309 12月05日 12:39 a
	-rw-r-----   1 yakoshi	os2	     309 12月05日 12:39 b

	$ chx a b
	File changed -rwxr-----   1 yakoshi  os2	   309 12月05日 12:39 a
	File changed -rwxr-----   1 yakoshi  os2	   309 12月05日 12:39 b
この例は、引き数としてファイル名を指定し、そのファイルの所有者に実行権を追加しています。

また、数値演算と組み合わせて、定数回実行する機能もあります。

【文法2】
	for ((初期値;上限;増分式))
	do
		コマンド群
	done
【例2】0から9までを数え上げる
	$ for ((i=0;i<10;i++))
	> do
	> echo $i
	> done
	0
	1
	2
	3
	4
	5
	6
	7
	8
	9
	$ 

Section Next | Prev

Copyright 2007 ycosSystems Shell/Body344.html