5.7 よく使用されるフローコンストラクトの操作

スクリプトのフローを制御するため、シェルでは、whileiffor、およびcaseの各コンストラクトを使用します。

5.7.1 if制御コマンド

ifは、式のチェックに使用されます。たとえば、次のコードは、現在のユーザがTuxであるかどうかをテストします。

if test $USER = "tux" then
  echo "Hello Tux."
else
  echo "You are not Tux."
fi

テスト式は、複雑にすることも、シンプルにすることも可能です。次の式は、ファイルfoo.txtが存在するかどうかをチェックします。

if test -e /tmp/foo.txt 
then
  echo "Found foo.txt"
fi

さらに多くの式を見つけるには、http://www.cyberciti.biz/nixcraft/linux/docs/uniqlinuxfeatures/lsst/ch03sec02.htmlを参照してください。

5.7.2 forコマンドによるループの作成

forループを使用すると、エントリのリストにコマンドを適用できます。たとえば、次のコードは、現在のディレクトリ内のPNGファイルの情報をプリントします。

for i in *.png; do
 ls -l $i
done