Writing robust shell scripts
davidpashley.com