Para controlar o fluxo do seu script, um shell possui as construções while, if, for e case.
O comando if é usado para verificar expressões. Por exemplo, o código a seguir testa se o usuário atual é Tux:
if test $USER = "tux"; then echo "Hello Tux." else echo "You are not Tux." fi
A expressão de teste pode ser tão complexa ou simples quanto possível. a expressão a seguir verifica se o arquivo foo.txt existe:
if test -e /tmp/foo.txt ; then echo "Found foo.txt" fi
A expressão de teste também pode ser abreviada entre colchetes:
if [ -e /tmp/foo.txt ] ; then echo "Found foo.txt" fi
Outras expressões úteis estão disponíveis em http://www.cyberciti.biz/nixcraft/linux/docs/uniqlinuxfeatures/lsst/ch03sec02.html.