ShellCheck
shellharden
Our great sponsors
- SonarQube - Static code analysis for 29 languages.
- InfluxDB - Access the most powerful time series database as a service
- ONLYOFFICE ONLYOFFICE Docs — document collaboration in your environment
ShellCheck | shellharden | |
---|---|---|
457 | 15 | |
32,226 | 4,396 | |
- | - | |
7.5 | 4.7 | |
5 days ago | 12 days ago | |
Haskell | Rust | |
GNU General Public License v3.0 only | Mozilla Public License 2.0 |
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
-
First time writing bash scripts for work, not sure if this is true elsewhere
not sure about unit/functional testing, but https://www.shellcheck.net/ is handy for linting and finding bad practice.
-
Bash newbie here, wanted to know your opinion
First, how did ShellSheck didn't give you warnings, if you checked it?
-
Bash script string argument is interpreted als multiple arguments
BTW, check out https://www.shellcheck.net/. You can install it to your computer and it'll warn you about this and many other ways you can accidentally shoot at your own foot with Bash.
-
Take your BASH scripting seriously
This is super easy but, may not always be enough.. Luckily, the fine people at ShellCheck gave this some thought and created a nifty tool. It’s got a nice README, is available via most decent package managers and, even has a web interface where you can test snippets (in case you’re bored and on the tube, I guess). The README also includes a Gallery of bad code to showcase some of the stuff shellcheck can pick up on.
-
Which Shell?
Bash because it's everywhere and I've put effort into learning it properly. My scripts almost always pass shellcheck first try, and I know the syntax of bash-specific features reasonably well. I don't see any advantage to learning another shell which I need to explicitly install and relearn all over again.
-
[P] Convert Any language to a Linux command (one-liner)
The Prompt logic could include some nuance to flag potentially harmful commands, but it would still be potentially fallible. However, you raise an excellent point, and value can be added by altering the workflow to run the results through a tool like shellcheck, where you can customize acceptable BASH commands.
-
Prompt advice for ChatGPT4
Idea: Incorporate shellcheck that repeats the code back to the bot until it passes shellcheck at least.
-
Why is it that a command run from the terminal command line produces line break but the same command run within bash script has no line break/
A good way to learn the finicky bits is to run all your scripts through shellcheck. (Better yet, find a plugin for your editor/IDE.) If it flags an issue, read the corresponding wiki page and see if you understand it.
-
Would love some feedback on my first set of shell scripts
Have you run them through shellcheck? https://www.shellcheck.net/
-
I made a volume and brightness indicator for i3wm using dunst
Nice work! I recommend using https://www.shellcheck.net/ to make sure your bash script is in a good modern shape
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.
- How to do things safely in Bash
-
ShellCheck: A static analysis tool for shell scripts
I haven't used it, but I have seen something similar called shellharden. It pitches it's advantage as being able to auto apply the changes.
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
stan - 🕵️ Haskell STatic ANalyser
hdocs - Haskell docs tool
maam - A monadic approach to static analysis following the methodology of AAM
proot - An chroot-like implementation using ptrace.
shfmt - A shell formatter (sh/bash/mksh)