Part of knowing a language well is knowing when not to use it … and as useful as shell scripting is, there are definitely some situations where you’re just more likely to make things hard for yourself.
The BashWeaknesses page on Greg’s Wiki has a really good list of things that should make you reconsider using a shell script.