文字列が整数かを調べる
testコマンドで数値と文字列を比較するとエラーになる
文字列が整数でなければ終了コードが2以上になる
#!/bin/sh #isnum.sh is_num(){ [ "$1" -eq 0 ] 2>/dev/null if [ $? -ge 2 ]; then echo "$1 is NOT a valid integer." else echo "$1 is a valid integer." fi } is_num "256" is_num "-32" is_num "X64"
$ ./isnum.sh 256 is a valid integer. -32 is a valid integer. X64 is NOT a valid integer.