• philm@programming.dev
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      1 year ago

      but effectively it’s bash, I think /bin/sh is a symlink to bash on every system I know of…

      Edit: I feel corrected, thanks for the information, all the systems I used, had a symlink to bash. Also it was not intended to recommend using bash functionality when having a shebang !#/bin/sh. As someone other pointed out, recommendation would be #!/usr/bin/env bash, or !#/bin/sh if you know that you’re not using bash specific functionality.

      • MonkderZweite@feddit.ch
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        1 year ago

        Still don’t do this. If you use bash specific syntax with this head, that’s a bashism and causes issues with people using zsh for example. Or with Debian/*buntu, who use dash as init shell.

        Just use #!/bin/bash or #!/usr/bin/env bash if you’re funny.

        • wolo@lemmy.blahaj.zone
          link
          fedilink
          English
          arrow-up
          0
          ·
          1 year ago

          #!/bin/bash doesn’t work on NixOS since bash is in the nix store somewhere, #!/usr/bin/env bash resolves the correct location regardless of where bash is

          • JackbyDev@programming.dev
            link
            fedilink
            English
            arrow-up
            0
            ·
            edit-2
            1 year ago

            Are there any distos with /usr/bin/env in a different spot? I still believe that’s the best approach for getting bash.

              • MonkderZweite@feddit.ch
                link
                fedilink
                arrow-up
                1
                ·
                edit-2
                1 year ago

                I do think a simple symlink is superior to a tool parsing stuff. A shame POSIX choose this approach.

                Still the issue that a posix shell can be on a non-posix system and vice versa. And certificates versus used practice. Btw, isn’t there only one posix certified Linux distro? Was it Suse?