Costumo usar um constructo como este:
case "$1" in
'start')
startProfile
;;
'stop')
stopProfile
;;
'restart')
stopProfile
startProfile
;;
*)
echo "Usage $0 start|stop|restart <profile|application>"
esac
Você tem um caso de comutação que lida com os casos normais e, se nenhum deles se encaixa, o caso padrão imprime as instruções de uso.