|about 1 month ago||6 days ago|
|GNU General Public License v3.0 or later||GNU General Public License v3.0 only|
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.
Software I’m Thankful For
14 projects | news.ycombinator.com | 23 Sep 2022
Shellcheck https://github.com/koalaman/shellcheck : Shell scripts are unavoidable, you have to write one every now and then but shell is a terrible language with massive footguns around every corner. I don't write shell scripts extensively enough to remember all those footguns and even if I did, not sure I'd want to waste brainpower remembering all that archaic trivia.
Shellcheck makes writing shell scripts bearable and dare I say somewhat enjoyable. They have managed to collate all the shell scripting potholes and tribal knowledge into one static analysis tool. No shell script now gets checked in at work or on my personal machine without being pumped through shellcheck.
pre-commit-config-shellcheck for syntax and semantic checks automation
4 projects | dev.to | 21 Sep 2022
Shellcheck is a shell script static analysis tool. The main purpose of this tool is to find popular syntax mistakes as well as to point out corner cases that may cause scripts to fail under future circumstances while giving suggestions for fixing those.
Production pipelines are tested in production
2 projects | reddit.com/r/devops | 20 Sep 2022
For shell specifically, ShellCheck and Shfmt are great.
Content based change detection with Make
4 projects | news.ycombinator.com | 20 Sep 2022
If you're interested in more shell stuff, read the Bash Manual. It's not very long and it's quite enjoyable: https://www.gnu.org/software/bash/manual/bash.html
Run all your scripts through https://www.shellcheck.net/ (you can install it locally too) and correct all errors it finds, click the explanation pages to understand why. In future, improve your style so you don't generate errors.
Here's some more I've found useful:4 projects | news.ycombinator.com | 20 Sep 2022
I would also highly recommend shellcheck (https://www.shellcheck.net/) for useful error messages and warnings!
Advanced Bash-Scripting Guide
2 projects | news.ycombinator.com | 19 Aug 2022
Also available in VSCode, IntelliJ, and others.
Ask HN: Can I see your scripts?
73 projects | news.ycombinator.com | 15 Aug 2022
Going to use this opportunity to spam ShellCheck, because it has historically saved me dozens of hours catching many silent Bash scripting errors and just making my scripts more robust/warning me of obscure edge cases:73 projects | news.ycombinator.com | 15 Aug 2022
San and format lines
2 projects | reddit.com/r/commandline | 14 Aug 2022
Your script is so full of syntax errors and problems that it's not clear to me what you think it should do. I suggest you feed the whole thing through shellcheck and fix it up that way, there are lots of errors, the biggest of which is you can't assign a value to a variable like this: $FILE=Cargp.toml.
Checkmake: Experimental Linter/Analyzer for Makefiles
6 projects | news.ycombinator.com | 14 Aug 2022
Some discussion on that here:
The hadolint project does shell checking for Dockerfiles and it uses shellcheck:
So the approach is definitely feasible, but you do need a new project and probably it needs to be written in Haskell.
What are some alternatives?
bash-language-server - A language server for Bash
shfmt - Dockernized shfmt. This formats shell script.
PowerShell - PowerShell for every system!
efm-langserver - General purpose Language Server
neomake - Asynchronous linting and make framework for Neovim/Vim
sh - A shell parser, formatter, and interpreter with bash support; includes shfmt
shellharden - The corrective bash syntax highlighter
stan - 🕵️ Haskell STatic ANalyser
ohmyzsh - 🙃 A delightful community-driven (with 2,000+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community.
proot - An chroot-like implementation using ptrace.
maam - A monadic approach to static analysis following the methodology of AAM
babashka - Native, fast starting Clojure interpreter for scripting