Hello,
just stumbled over a makefile which does
RANLIB=(hash ranlib) >/dev/null 2>&1 || exit 0; ranlib
and had a problem:
?0[]$ for i in ba da k mk z; do
> echo "--${i}sh:";
> eval "${i}sh -c '(hash nosuch)||echo ok; (hash vim)||echo bad'";
> done
--bash:
bash: line 0: hash: nosuch: not found
ok
--dash:
dash: 1: hash: nosuch: not found
ok
--ksh:
--mksh:
--zsh:
zsh:hash:1: no such command: nosuch
ok
And also (packed in shell archives, grmpf)
?1[]$ bourne.sh + -c '(hash vim)||echo au'
?0[]$ bourne.sh + -c '(hash vims)||echo au'
/var/folders/Da/DaZX3-k5G8a57zw6MSmjJ++++TM/-Tmp-//.bournesh/sh: vims: not
found
au
?0[]$ schily.sh + -c '(hash vim)||echo au'
?0[]$ schily.sh + -c '(hash vims)||echo au'
/var/folders/Da/DaZX3-k5G8a57zw6MSmjJ++++TM/-Tmp-//.schily.sh/sh: vims: not
found
au
Ciao,
--steffen