• philm@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    10 months 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
      10 months 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
        ·
        10 months 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
          10 months 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
              10 months 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?