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

  • thingsiplay@beehaw.org
    link
    fedilink
    arrow-up
    11
    ·
    5 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.

      • t0mri@lemmy.mlOP
        link
        fedilink
        arrow-up
        2
        ·
        5 months ago

        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.

    • t0mri@lemmy.mlOP
      link
      fedilink
      arrow-up
      4
      ·
      5 months ago

      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