ShellCheck
Joseph mentioned ShellCheck recently. It checks for some fairly common sh/bash programming "gotchas", e.g. not double-quoting a shell variable. This is very helpful for production code!
I browsed the About ShellCheck page and found out that I can run ShellCheck within emacs, which could save a few edit/save/test cycles. But even better news is that flycheck, (which provides emacs/ShellCheck interaction), supports many other languages. Of particular interest to me are cfengine, perl, python, and XML.













