rustup.rs
bish
rustup.rs | bish | |
---|---|---|
1 | 3 | |
0 | 1,480 | |
- | - | |
10.0 | 0.0 | |
over 5 years ago | almost 2 years ago | |
Rust | C++ | |
Apache License 2.0 | MIT License |
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.
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.
bish
-
Show HN: Just.sh – compiler that turns Justfiles into portable shell scripts
https://github.com/batsh-dev-team/Batsh
https://github.com/tdenniston/bish
(Just fyi. I've been collecting links to similar things because of Reasons).
-
Pure Bash Bible
I'd love to see a little language which compiles to _readable_ bash. Could it be so hard? There's a dead project that comes up now and then called bish.
https://github.com/tdenniston/bish
-
Ask HN: Let's Build CheckStyle for Bash?
Oh people have tried - here are a few https://stackoverflow.com/questions/10239235/are-there-any-l...
I vaguely remember quite liking bish when I saw it years ago https://github.com/tdenniston/bish but it looks like no commits in 6 years.
This shelljs thing looks more promising, but really tedious to use https://github.com/shelljs/shelljs - shell.rm('-rf', 'out/Release'); I'd rather suffer proper bash than have to do that sort of thing.
Nothing seems to have really caught on so far. Bash is easy to learn and hack on, and before you know it, that simple install.sh that started out moving a few files around is 5000 lines, unmaintainable, and critical to bootstrapping your software :)
What are some alternatives?
shfmt - A shell formatter (sh/bash/mksh)
etc - Things that are too small to keep in a separate repo, but too important not to version them.
shfmt - Dockernized shfmt. This formats shell script.
testing-in-bash - Bash test framework comparison
bashate - Code style enforcement for bash programs. Mirror of code maintained at opendev.org.
shunit2 - shUnit2 is a xUnit based unit test framework for Bourne based shell scripts.
hck - A sharp cut(1) clone.
pure-bash-bible - 📖 A collection of pure bash alternatives to external processes.
templates-cruft
ale - Check syntax in Vim/Neovim asynchronously and fix files, with Language Server Protocol (LSP) support