Even though tooling has vastly improved in the infrastructure space, writing a shell script may make sense in some cases. Of course, the syntax of shell scripts can only be described as arcane, and as we've less practice writing shell scripts these days, we've come to like ShellCheck, a linter for shell scripts. ShellCheck can be used from the command line, as part of a build or, even better, as an extension in many popular IDEs. The wiki contains a detailed description of several hundred issues that ShellCheck can detect, and most tools and IDEs provide a way to conveniently access the respective wiki page when an issue is found.