What I really mean is, use the right tool for the job… and if you have to think much about it, then the right tool is probably not a shell script. Maybe it’s a bit harsh to say stop using shell scripts completely – Shell scripts have their use. I’ve come to a conclusion: Stop using shell scripts! Here’s my attempt to try to explain exactly why. So why don’t I love shell scripts? It’s that I’ve finally started to realize that for large, complex applications, shell scripting can cause major inefficiencies. I’ve also written my share of shell scripts (and still find them useful). Now, don’t get me wrong: I love the command line and I use it every day – in fact, I consider myself a command line enthusiast. I think about the pain it must have been to write the logic and control flow in shell language, and I immediately know the software will be difficult for me to understand, because that seems to be an inherent property of shell. These days, I start to groan a little when I open some interesting software and find it overridden with shell syntax. I’ve slowly, perhaps unconsciously developed negative feelings for such shell scripts. Over the course of my career have I repeatedly run into large (100 lines or more) scripts written in shell language.