I will start this by quoting the bashstyle’s readme:
- It’s made to be glue. Write complex parts in C or Go (or whatever!), and glue them together with Bash.
So, projects like bashstyle are important to set a common sense in how to do things using bash. The problem is that it’s not automated.
A project that really helps with that is shellcheck. It’s an executable written in Haskell, which can lint your scripts (in bash, zsh, and others). Sure enough, we can put this in a Continuous Integration system and watch it do the validation for us.
$ git submodule add https://github.com/caarlos0/shell-travis-build.git build $ cp build/travis.yml.example .travis.yml
Travis will always clone a project with its submodules before the build, so, it will always work.
I’m already using this in my dotfiles, and found some really stupid mistakes to fix. Sure thing, this is an awesome tool!
Wanna see it in the so said real world? Check my dotfiles