This[1] Stack Overflow question sums up everything I dislike about shell scripting. Not only does it highlight the finnicky string-oriented nature of it, but the answers...
Multiple contradictory answers, disagreement, sub-sub-sub explanations, historical context, caveats, workarounds, hypothetical scenarios, portability, personal taste, different versions and implementations all show up. One answerer felt the need to include a footnote.
It's like the opposite of Python's "there's one right way to do it": There are 50 right ways to do it, all of which are wrong in some case or another, potentially depending on which way the wind is blowing.
All in regards to checking for an empty string.
[1] http://unix.stackexchange.com/questions/136628/bash-script-x...