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.
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.
#!/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
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?
Just don’t call it with
#!/bin/sh
. Because that’s POSIX shell, not bash.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.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.#!/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 isAre there any distos with
/usr/bin/env
in a different spot? I still believe that’s the best approach for getting bash.All posix-compliant distros need /usr/bin/env
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?