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

Reply via email to