スクリプトのフローを制御するため、シェルでは、while、if、for、およびcaseの各コンストラクトを使用します。
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を参照してください。
forループを使用すると、エントリのリストにコマンドを適用できます。たとえば、次のコードは、現在のディレクトリ内のPNGファイルの情報をプリントします。
for i in *.png; do ls -l $i done