sh
bats-core
Our great sponsors
sh | bats-core | |
---|---|---|
21 | 23 | |
6,751 | 4,607 | |
- | 1.7% | |
7.8 | 8.9 | |
about 14 hours ago | 3 days ago | |
Go | Shell | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 or later |
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.
sh
-
Show HN: Hucksh – A Shell with a Good Memory
* The shell itself is https://github.com/mvdan/sh, a bash-like command interpreter
-
Pure Bash Bible
https://github.com/mvdan/sh
And finally, checkbashisms if you intend on making pure posix scripts that are compatible with debian/ubuntu's dash. It is part of the debian's devscripts suite, but is often individually packaged in other distros.
> Also you can use the chat as a learning tool
Or you could learn from a guide written by people who have suffered decades of experience of the pitfalls of shell scripting and have shared their woes.
- Shfmt – format shell programs
- Shfmt – format shell programs (like gofmt, rustfmt)
-
Gofumpt: It's like gofmt except more strict
My bad, I completely screwed this up... the as of yet undiscussed project is:
(not shmfmt)
-
Gosh Linux shell written in Golang
I support projects like this for purposes of exploration and practice. But don't expect people to use it when there are already well established projects out there like: https://github.com/mvdan/sh
- mvdan/sh: A shell parser, formatter, and interpreter with bash support; includes shfmt
-
similar to shellcheck?
There are also: - shfmt - sh - bash language server - bashate
- shfmt - formatting comments issue
-
Indenting piped shell expressions in a script?
I also like running shfmt over my shell scripts so they all look the same without me having to think about whitespace.
bats-core
- BATS 1.11.0 released
-
Test Anything Protocol (Tap)
I use Bats which is TAP-compliant (https://github.com/bats-core/bats-core) at work to test CIS Benchmark at servers, it's amazing.
- Bashunit
-
How to get code coverage data out of integration tests
I'm working on a project that utilizes the standard Rust unit tests for some of its tests. However, most of the testing is done through integration tests with Bats (https://github.com/bats-core/bats-core). The Bats tests just run the binary. Is it possible to get code coverage data out of these tests somehow?
-
First time writing bash scripts for work, not sure if this is true elsewhere
There's Bat for automated bash testing. Used it a couple of times! https://github.com/bats-core/bats-core
-
Integration testing docs in GitHub Actions
Bats (Bash Automated Testing System) plus assertion libraries for kubectl
-
Unix bash scripting versus Python - any resources out there for comparisons?
Bash has a testing library. I think it's called BATS (not builtin though).
-
Testing Terraform infra - terratest alternatives?
I'm considering something like BATS, but maybe there are other specialized tools? Ofc I could just write some bash myself and add to that as the time goes on, but there has to be a better way.
-
asdf banned_commands
If you were as confused as I was where "run" is defined and how "output" gets set, and what the heck the bats extension is:
(1) and (2) are answered here:
https://github.com/bats-core/bats-core/blob/master/lib/bats-...
(3) bash automatic testing system.
-
Unix shell script tactics - a style guide
It's probably worth noting, bats-core is a solid testing framework, which allows a lot more serious approach to writing shell. https://github.com/bats-core/bats-core
What are some alternatives?
bat - A cat(1) clone with wings.
shunit2 - shUnit2 is a xUnit based unit test framework for Bourne based shell scripts.
ShellCheck - ShellCheck, a static analysis tool for shell scripts
getting-started-with-bash-testing - Example Bash Project to get started with testing with Bats.
go-pkg-xmlx
bats-assert - Common assertions for Bats
go-pkg-rss
bash-oo-framework - Bash Infinity is a modern standard library / framework / boilerplate for Bash
inject
shellharden - The corrective bash syntax highlighter
toml - TOML parser for Golang with reflection.
shellcheck-repl - Validation of Shell Commands Before Evaluation