On Sat, 18 Aug 2018 10:52:59 +1000
Tim Cross <theophilusx@gmail.com> wrote:
> I think pretty much all *nix systems put core shells like sh, bash, zsh
> etc in /bin (as it is guaranteed to be available immediately at boot, while /usr is
> not - it could be a separate partition which isn't available until later
> in the boot process).
They do but at least solaris circa v.9 and now redhat have replaced /bin with a symlink to /usr/bin. Whether you get
/bin/shor /usr/bin/sh out of `which` depends purely on their order in your $PATH.
> A way to avoid platform differences is to use /usr/bin/env e.g.
>
> #!/usr/bin/env bash
Except now you can't pass arguments to your bash.
You can't win. Although in the case of shell scripts you can get rid of all bash'isms and call '/bin/sh'
--
Dmitri Maziuk <dmaziuk@bmrb.wisc.edu>