bash

Linux Journal
Bash is like a friendly nemesis to me. I use it all the time for simple commands and I often think, "If I could just string two or three of these commands together with some simple logic I won't need to move to a ‘real’ development environment!" But then stuff like this...
"This looks very much like the if conditional statement in any programming language. However, it's not."
...means six hours later I have a bash script and 99 problems. This article helps explain why I run into trouble by describing how bash evolved.