変数の値が整数かどうかを調べる
変数に入っている値が整数かどうかをチェックしたい、というシチュエーションはよくあると思います。
JavaScriptの isNaN ですね。
result=`test ${hoge} -eq 0 2> /dev/null` if[ ${result} -le 1 ]; then echo "整数" else echo "整数じゃない" fi
文字列の比較で -eq を使用するとエラーになると、resultにはエラーコード(2以上)が返ってきます。
整数であれば、0 か 1 が返ってくるので、それを利用して整数かどうかチェックできます。
2008/05/15 追記
・・・
すみません。これ、間違ってますね。
実際は以下のようにする必要があります。
test ${hoge} -eq 0 2> /dev/ull result=$? if [ ${result} -le 1 ]; then echo "整数" else echo "整数じゃない" fi
直前のコマンドのエラーコードが $? に入っているので、その内容を確認する必要があります。