shellharden
spdk
shellharden | spdk | |
---|---|---|
16 | 6 | |
4,556 | 2,832 | |
- | 1.2% | |
5.0 | 9.9 | |
about 1 month ago | 3 days ago | |
Rust | C | |
Mozilla Public License 2.0 | 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.
shellharden
-
Shellcheck finds bugs in your shell scripts
Everytime I see Shellcheck coming up, I have to mention shellharden[0] written by a colleague of mine. It is basically shellcheck but it applies the suggested changes automatically.
0: https://github.com/anordal/shellharden
-
similar to shellcheck?
Also worth mentioning shellharden
-
Bash Pitfalls
See also:
* https://www.shellcheck.net/ — linting tool to avoid common mistakes and improve your script
* Bash Practices: https://mywiki.wooledge.org/BashGuide/Practices
* Bash Pitfalls: https://mywiki.wooledge.org/BashPitfalls
* safe ways to do things in bash: https://github.com/anordal/shellharden/blob/master/how_to_do...
* better scripting: https://robertmuth.blogspot.in/2012/08/better-bash-scripting...
* robust scripting: https://www.davidpashley.com/articles/writing-robust-shell-s...
-
Code formatter, linters, etc. Recommendations?
There is shellcheck, and shellharden which is a strict version of it. There are similar stuff here, some that also help with your editor. You can also use a docker version of shfmt. See here for a quick tutorial on shfmt.
-
What is best Method of Submitting Bash Script, short Python ignorance confession (lament.)
Regarding linters, there are several of them in most languages.For bash, there is Shellcheck or a more strict (and sometimes confusing) Shellharden to do exactly what you want.
-
Awesome Rewrite It In Rust - A curated list of replacements for existing software written in Rust
For example, shellharden looks awesome.
- anordal/shellharden Safe ways to do things in bash
- How to do things safely in Bash
- How to do things safely in Bash (2018)
spdk
-
calcuating IOPS
https://spdk.io will require you to load linux onto the server (livecd off a usb should be fine), but is essentially the most efficient way possible to do IO. Intel’s storage division used to use it to get the numbers they advertised with. When they loaded up a system with kioxia drives, Intel managed to hit 120 million IOPS in some of their testing.
- Storage performance development kit
- Win32 is the stable Linux userland ABI
- SPDK: Storage Performance Development Kit
-
ShellCheck: A static analysis tool for shell scripts
Since the project I work on (https://spdk.io) largely produces a set of executables as output, it was most natural to write the tests in bash. There's one top level bash script that kicks off the full suite of tests and thousands and thousands of lines of tests all written as bash scripts stringing together calls to these executables.
One of these tests is to run shellcheck against all of the scripts in the repo. We don't allow any modifications to scripts without shellcheck giving them the green light now. The quality of our tests has increased dramatically since this was instituted - it's a really great tool.
-
Achieving 11M IOPS and 66 GB/S IO on a Single ThreadRipper Workstation
FYI SPDK doesn't strictly require the IOMMU be enabled. See https://spdk.io/doc/system_configuration.html There's also a new experimental interrupt mode (not for everything) finding some valuable use cases in SPDK, see https://github.com/spdk/spdk/blob/master/CHANGELOG.md and feel free to jump on the SPDK slack channel or email list for more info on either of these https://spdk.io/community/
What are some alternatives?
ShellCheck - ShellCheck, a static analysis tool for shell scripts
KVell - KVell: the Design and Implementation of a Fast Persistent Key-Value Store
shfmt - Dockernized shfmt. This formats shell script.
chia-blockchain - Chia blockchain python implementation (full node, farmer, harvester, timelord, and wallet)
shfmt - A shell formatter (sh/bash/mksh)
static-analysis - ⚙️ A curated list of static analysis (SAST) tools and linters for all programming languages, config files, build tools, and more. The focus is on tools which improve code quality.
azure-policy - Repository for Azure Resource Policy built-in definitions and samples
hadolint - Dockerfile linter, validate inline bash, written in Haskell
sh - A shell parser, formatter, and interpreter with bash support; includes shfmt
shunit2 - shUnit2 is a xUnit based unit test framework for Bourne based shell scripts.
rust_cmd_lib - Common rust command-line macros and utilities, to write shell-script like tasks in a clean, natural and rusty way