░█░█░█░█░█▀█░▀█▀░░░█░█░█▀█░█▀▀░░░█░█░█▀▄░█▀█░█▀█░█▀▀ ░█▄█░█▀█░█▀█░░█░░░░█▄█░█▀█░▀▀█░░░█▄█░█▀▄░█░█░█░█░█░█ ░▀░▀░▀░▀░▀░▀░░▀░░░░▀░▀░▀░▀░▀▀▀░░░▀░▀░▀░▀░▀▀▀░▀░▀░▀▀▀WWW in French
03 May 2021
If you're writing some bash codes for fun and you're not a professional then chances that your codes are working but crappy are quite high. Why am I making this statement without knowing you? Because that's my case and I wish to not be the only one bad programmer out there ^^
So, if you belong to this group you may like shellcheck. This program will (description from the official github):shellcheck github
- point out and clarify typical beginner's syntax issues that cause a shell to give cryptic error messages
- point out and clarify typical intermediate level semantic problems that cause a shell to behave strangely and counter-intuitively
- point out subtle caveats, corner cases and pitfalls that may cause an advanced user's otherwise working script to fail under future circumstances
There is no excuse to not use it since it's available in:
- the terminal. Once the package installed, simply type "shellcheck your_script_name"
- vim through ALE, Neomake, or Syntastic
- emacs through Flycheck or Flymake
- sublime through SublimeLinter
- atom through Linter
- VSCode through vscode-shellcheck
And if you don't feel like installing one more package, this program is also offered as an online tool:shellcheck online tool
Like some other underestimated tools, you don't think you may need them until you try then. After that, they simply become essential.
Using it you'll probably not become the best bash coder ever but you'll improve greatly. The simplicity of shellcheck makes it fun to use and a great way to learn better practices. When running it on your scripts, it'll show you where "errors" are, will offer some corrections, and provide an interactive link to a webpage which will explain what the error is and how to solve it. I highly encourage you to give it a try and you have nothing to loose if you do so with the online tool first.
If you need to be convinced of the utility of this program, you can also (shell)check this Youtube video from Distrotube:distrotube's video