Pure Bash Bible (2018)
I like bash, zsh and other shell languages as well. However, unless you&#x27;re really experienced, they shouldn&#x27;t be the product you ship, whether that is internally or externally to you or your company.<p>Shell languages is the final layer of configuration and customization you apply to the setup, it should almost never be the foundation of what you build.<p>Especially for a company, unless you&#x27;ve got really, really skilled engineers on the scripts, it becomes a complete mess. And even then it can become almost impossible to grok.<p>The way we develop infrastructure automation, ci, and developer tools is binaries first and foremost, then plugins for our infrastructure (also binaries, or libraries) and then some zsh on top to provide a nice developer experience.<p>But we&#x27;ve had to heavily scale back our use of zsh, it simply turned into a ball of mud, like all software that isn&#x27;t maintainable, upgrade-able, or simple enough to parse.<p>This isn&#x27;t a dig on zsh, bash etc, we&#x27;ve just found out that we can&#x27;t maintain zsh as a product to supply to our engineers, and as such have to correct.