ファイルが実行可能かどうかは
$ test -x hoge
で調べられますが,これはhogeのパスが既知である場合に限られると思います.
hogeのパスが未知の場合(/bin/hogeか/usr/bin/hogeか/usr/local/bin/hogeかはたまた$HOME/bin/hogeか)に,
hogeにきちんとPATHが通ってて実行可能かどうかを調べるエレガントな方法はないでしょうか?
以下のようなスクリプトは思いつきましたが,できればもっと短くなれば嬉しいです.
#!/bin/sh
PATHS=`echo $PATH | sed 's/:/ /g'`
for i in $PATHS; do
test -x $i/$1
if [ $? = 0 ]; then
exit 0
fi
done
exit 1