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

  • alyth@lemmy.world
    link
    fedilink
    arrow-up
    63
    ·
    edit-2
    5 months ago

    ShellCheck is a static analysis tool for bash/sh scripts - try it on your scripts. The README also shows some examples of what (not) to do.

    The link to your project gives me a 404 btw, is it a private repository?

    • smeg@feddit.uk
      link
      fedilink
      English
      arrow-up
      11
      ·
      5 months ago

      I can’t recommend shellcheck enough, there are even plugins (for vscode and intellij at least) which give you syntax highlighting in your IDE

        • smeg@feddit.uk
          link
          fedilink
          English
          arrow-up
          4
          arrow-down
          3
          ·
          5 months ago

          “Just”, lol. I’m sure yours is a much more comprehensive and powerful solution, but it definitely looks more complex than just installing a plugin on your IDE!

          • ivn
            link
            fedilink
            arrow-up
            6
            ·
            5 months ago

            Is pluging a LSP server that hard on vscode/intellij? Because it’s automatic with a lot of LSP clients, open a .sh file, get asked if you want to install the corresponding LSP server, answer yes and that’s it. Some LSP clients don’t do automatic server install but you just have to install the server with your packet manager. At least that’s how it is with vim / emacs.

            • smeg@feddit.uk
              link
              fedilink
              English
              arrow-up
              1
              ·
              5 months ago

              No idea, I’d never even heard of one until your comment! Is it worth setting up? What else does it do?

              • ivn
                link
                fedilink
                arrow-up
                7
                ·
                5 months ago

                Funny thing is that LSP was actually created for VSCode. That’s the now standard protocol to decouple language specific things (completion, formatting, linting…) from the editor so you don’t have to use an editor for each language. You can now use any editor that supports LSP, either directly or through a plugin, and turn it into a fully fledged IDE by installing the LSP servers for the language you need. I guess some VSCode plugins use LSP under the hood and just embed the server.

    • bionicjoey@lemmy.ca
      link
      fedilink
      arrow-up
      8
      arrow-down
      1
      ·
      5 months ago

      I love ShellCheck! It’s one of the biggest FOSS projects written in Haskell.

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

      Thanks. I checked it out. It’d be cool if they have LSP setup.

      And thanks for informing about the link, I made a typo :]