i didnt care about how i wrote my bash scripts, coz i know theyd ultimately be used just by myself. but for the past few day, i’ve been working on this project, mk-blog which uses some bash scripts, there are chances that others might look at them. besides in work they’re asking me maintain a server. so why not learn the standards. but i couldn’t find anything good online (i’m gonna blame my search engine lol). so…
i’d appreciate redirections to (official or community) bash coding standards
- boredsquirrel ( @boredsquirrel@slrpnk.net ) 14•3 months ago
A yes, the fear of opensourcing.
Trust me, proprietary code is often total garbage because nobody looks at it.
- thingsiplay ( @thingsiplay@beehaw.org ) 12•3 months ago
There is no single Bash standard to follow, only a few guidelines. One way you can check for some basic errors and formatting would be using an editor with support for Bash (in best case with a builtin LSP). At the end, you have to find your style and coding standards or adapt what others do if you want work with them or edit their files.
- Otherwise there is a well known tool for checking Bash files: https://www.shellcheck.net/ You can use it online and as a downloaded program on your local machine. After using shellcheck for a bit I got used to some of its conventions and recommendations, such as always wrapping variables like in
${variable}
and some other things. - Google has a coding style guide, but not everyone likes it: https://google.github.io/styleguide/shellguide.html
- Related is the Bash Reference Manual from GNU: https://www.gnu.org/software/bash/manual/bash.html Off course this is not a guide on how to style or program, but it helps in understanding how GNU does things.
BTW the mk-blog link is 404 for me.
- LalSalaamComrade ( @velox_vulnus@lemmy.ml ) English5•3 months ago
The link is incorrect. It should point to https://codeberg.org/t0mri/mk-blog, not https://codeberg.org/t0mri/mk-blom.
I assume you opened the link. Did you read that projnct intro by any chance? Im struggling to name the project. Some suggestion can help.
Thanks.
Yeah I came across that google’s guide, but I skipped it when I found out its from google. And thanks for informing about the link, I made a typo
- Otherwise there is a well known tool for checking Bash files: https://www.shellcheck.net/ You can use it online and as a downloaded program on your local machine. After using shellcheck for a bit I got used to some of its conventions and recommendations, such as always wrapping variables like in
- Martin ( @mundane@feddit.nu ) 5•3 months ago
I try to follow Bash strict mode. It can protect you from some foot shooting.
Not what Im asking for, but this is awesome!
- allywilson ( @allywilson@lemmy.ml ) 4•3 months ago
I’ve used shfmt in the past: https://github.com/patrickvane/shfmt
- GravitySpoiled ( @GravitySpoiled@lemmy.ml ) English4•3 months ago
- 𝘋𝘪𝘳𝘬 ( @Dirk@lemmy.ml ) 4•3 months ago
Choose whatever fits you
And stick to it! Also make sure other participants also adhere to that. Optionally configure a linter for doing that.
Thanks
- krathalan ( @krathalan@lemmy.blahaj.zone ) English4•3 months ago
Repos are archived by the maintainer, but I find these really helpful resources:
https://github.com/dylanaraps/pure-bash-bible https://github.com/dylanaraps/pure-sh-bible