>>114-116 ありがとうございます。 早速、(( ))を使って書き直しました。 10万までインクリメントしていくだけのスクリプトで 速度を計測してみたのですが、全然違うのですね! ./tmp.sh 4.64s user 0.10s system 99% cpu 4.788 total ./tmp.sh 92.07s user 111.03s system 96% cpu 3:31.31 total exprの方(下の方)が遅いです。
それと一貫性が無いように感じたので、1行目のwhichの文を$(which w3m)としました。 また、bashを見てみると[[ ]]という組み込みの評価式があったので、 if [ \( ! -e "$COMMAND" \) -o \( ! -x "$COMMAND" \) ]; then という部分を変更しました。 if [[ ( ! -e "$COMMAND" ) || ( ! -x "$COMMAND" ) ]]; then これも計測してみたら、若干ですが[[ ]]の方が速かったです。