bashate
rustup.rs
bashate | rustup.rs | |
---|---|---|
2 | 1 | |
324 | 0 | |
0.6% | - | |
3.0 | 10.0 | |
4 months ago | over 5 years ago | |
Python | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bashate
-
similar to shellcheck?
There are also: - shfmt - sh - bash language server - bashate
- Ask HN: Let's Build CheckStyle for Bash?
rustup.rs
-
Ask HN: Let's Build CheckStyle for Bash?
Much of the time that people are writing shell scripts, they're writing them not because they prefer shell syntax to that of some other language, but rather because they're creating a script that needs to be widely disseminated/deployed to all sorts of machines with unpredictable install bases.
This is why a large fraction of the shell scripts that exist in the world still hold to Bourne shell syntax, rather than using any of the syntax extensions from its descendant shells — Bourne shell (or at least, something at /bin/sh that interprets Bourne-shell syntax) is part of the POSIX standard. So you can expect any POSIX system — no matter how weird — to be able to run (Bourne) shell scripts. You can run them on Alpine. You can run them on Busybox. You can run them on your NAS. You can run them on your router. You can run them in your initramfs, on your Kubernetes nodes, on your Mosix nodes, whatever.
For an example of the type of script I'm talking about — see e.g. the script you download+run when you run the command-line on https://rustup.rs: https://github.com/hsivonen/rustup.rs/blob/master/rustup-ini...
There's absolutely no benefit that this script gets from being written directly in POSIX-compiliant Bourne shell syntax, rather than being written in something that compiles to it; any more than programs for your PC would benefit from being written directly in ASM rather than in something that compiles to it.
What are some alternatives?
ShellCheck - ShellCheck, a static analysis tool for shell scripts
shfmt - A shell formatter (sh/bash/mksh)
shfmt - Dockernized shfmt. This formats shell script.
shlint - A shell linting utility.
murex - A smarter shell and scripting environment with advanced features designed for usability, safety and productivity (eg smarter DevOps tooling)
cspell - A Spell Checker for Code!
bash-language-server - A language server for Bash
hck - A sharp cut(1) clone.
shellharden - The corrective bash syntax highlighter
Bash-Checkstyle - CI tool to verify some degree of Google Style Guide for Bash compliance.