Shellcheck: https://github.com/koalaman/shellcheck
From Asynchronous Lint Engine (ALE): https://github.com/dense-analysis/ale/blob/master/supported-...
- bashate: https://github.com/openstack/bashate
- cspell: https://github.com/streetsidesoftware/cspell/tree/main/packa...
- Bash Language Server: https://github.com/bash-lsp/bash-language-server
- shell -n flag: https://www.gnu.org/software/bash/manual/bash.html#index-set
- sh(shfmt): https://github.com/mvdan/sh
- shdoc: https://github.com/reconquest/shdoc
From this stack post [1]:
- checkbashisms: http://man.he.net/man1/checkbashisms
- shlint: https://github.com/duggan/shlint (archived)
Prettier: https://marketplace.visualstudio.com/items?itemName=esbenp.p...
Within all these linters and auto-formatters I did not find checks that enforce, for example, the Function Comments of the Shell Style Guide by Google:
All function comments should describe the intended API behaviour using:
Description of the function.
Globals: List of global variables used and modified.
Arguments: Arguments taken.
Outputs: Output to STDOUT or STDERR.
Returns: Returned values other than the default exit status of the last command run.
Hence, I thought we could make a Bash linting tool that verifies compliance with the Shell Style Guide by Google. To do so, a brief start was made here [2]. It identifies/lists elements in that style guide that may be verified automatically. Since Bash has been around longer than me, I think there may be some people better suited for the development of this enhanced linter. Hence, I thought it might be wise, for impact and usability, to share this idea here.What do you say, HN?
[0]: https://google.github.io/styleguide/shellguide.html
[1]: https://stackoverflow.com/questions/3668665/is-there-a-stati...