The real problem with shell scripts is that they usually tie together a few external commands and tend to pass information around using the filesystem.<p>This, together with poor error handling is a recipe for disaster: Problems with permissions, insufficient disk space, etc. Instead of stopping when encountering an error, most shell scripts will happily continue break at some other point in time (or worse - destroy valuable data).