Writing Bash doesn't have to be as painful as you think! Shellcheck to the rescue.
So I’ve found myself writing lots of bash scripts
recently and because they tend to do real things to the file system or cloud services they’re hard to test… it’s painful.
So it turns out there is an awesome linter/checker for bash
called shellcheck
which you can use to catch a lot of those gotchas before they become a problem.
There is a great plugin for vscode
so you get instant feedback when you do something you shouldn’t.
Better still it’s easy to get running in your build pipeline to keep everyone honest. Here is an example task for Azure Devops to run it on all scripts in the ./scripts
folder.
https://gist.github.com/lawrencegripper/2abfb2580d81ef35b2fccbe4b4884009
Next on my list is to play with the xunit
inspired testing framework for bash
called shunit2 but kinda feel if you have enough stuff to need tests you should probably be using python
.