ShellCheck
sh
ShellCheck | sh | |
---|---|---|
494 | 21 | |
36,220 | 7,197 | |
- | - | |
8.6 | 8.2 | |
about 1 month ago | 10 days ago | |
Haskell | Go | |
GNU General Public License v3.0 only | BSD 3-clause "New" or "Revised" 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.
ShellCheck
-
Techniques I Use to Create a Great User Experience for Shell Scripts
It's been so long since I used it seriously I couldn't tell you.
There's over 1000 open issues on the GitHub repo, and over 100 contain "false positive". I recognize several of these at first glance.
https://github.com/koalaman/shellcheck/issues?q=is%3Aissue+i...
-
Advanced Shell Scripting Techniques: Automating Complex Tasks with Bash
Reminder of the handy ShellCheck:
* https://www.shellcheck.net
Even if you don't follow or agree with its advice, it can be a handy and quick second opinion / sanity check.
-
New shell scripting language, a new tablet, and in-product messaging
If you're only occasionally writing shell scripts, Amber may not be a priority for you. In such cases, linting tools like ShellCheck could be more beneficial. However, if you find yourself frequently writing shell scripts, to the point where you're considering Python or Ruby for better re-usability, then Amber is definitely worth your attention.
-
Amber – the programming language compiled to Bash
As carlinigraphy points out, shellcheck [0] exists, and can easily be put into pre-commits, a CI pipeline, etc. This would have almost certainly flagged your problem immediately.
> I would be willing to learn a sane language, but bash isn't one.
It's a general language that has to be both an interactive interpreter and script executor, and it needs to support a huge variety of architectures and kernel versions, as well as historical decisions. It's going to have some cruft.
[0]: https://www.shellcheck.net/
-
How I use Devbox in my Elm projects
These projects use Caddy as my local development server, Dart Sass for converting my Sass files to CSS, elm, elm-format, elm-optimize-level-2, elm-review, elm-test (only in Calculator), ShellCheck to find bugs in my shell scripts, and Terser to mangle and compress JavaScript code.
-
Ask HN: Is there a GUI for bash shell?
ncurse, dialog, zenity[2]. i/o buffering may be an issue [3a,3b]
Assuming using same account, use history command to show past commands[0a, 0b]
'load random example' on shellcheck using own custom examples from history command.[1]
--------
[3a] : http://www.gnu.org/software/coreutils/manual/html_node/stdbu...
[3b] : http://unix.stackexchange.com/questions/25372/how-to-turn-of...
[2] : http//funprojects.blog/2021/01/25/zenity-command-line-dialogs/
[1] : http://www.shellcheck.net/
[0a] : http://www.tecmint.com/history-command-examples/
[0b] : http://www.tecmint.com/remember-linux-commands/
web based documentation: https://www.tecmint.com/linux-commands-cheat-sheet/
commands grouped by typical usage patterns : https://www.tecmint.com/essential-linux-commands/
- DevSecOps with AWS- IaC at scale - Building your own platform - Part 1
-
Ask HN: Popular open source tool originally written in Haskell?
ShellCheck: https://github.com/koalaman/shellcheck
-
Google ZX – A tool for writing better scripts
If I want to write better shell scripts I usually run shellcheck and adjust accordingly or if I need facilities not provided by the shell i switch to a full fledged programming language. Ans oh yes, `sh` is present almost on every BSD and Linux box for free so I consider it an important thing to at least be comfortable with.
shellcheck: https://www.shellcheck.net/
-
How I use Nix in my Elm projects
When I run nix-shell at the root of the project it puts me in a Nix shell that contains, among other programs, caddy and shellcheck. Notice that in the shellHook I add the project's shell scripts to the PATH. So once I'm in the Nix shell I can, among other things:
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.
https://mywiki.wooledge.org/BashGuide
- 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:
https://github.com/mvdan/sh
(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.
What are some alternatives?
bash-language-server - A language server for Bash
bat - A cat(1) clone with wings.
shellharden - The corrective bash syntax highlighter
go-pkg-xmlx
shfmt - Dockernized shfmt. This formats shell script.
inject
shfmt - A shell formatter (sh/bash/mksh)
go-pkg-rss
PowerShell - PowerShell for every system!
toml - TOML parser for Golang with reflection.
neomake - Asynchronous linting and make framework for Neovim/Vim
blackfriday - Blackfriday: a markdown processor for Go