On Sat, 18 Aug 2018 10:52:59 +1000
Tim Cross <theophil...@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/sh or /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 <dmaz...@bmrb.wisc.edu>

Reply via email to