文字列が数値かどうかを判定する関数。
exprにより数値演算を行い、エラーが発生しないかで数値判断できます。
#!/bin/sh IsNumeric() { # # 名称 IsNumeric - 文字列が数値かどうかを判定する # # 書式 IsNumeric string # # 解説 指定した文字列がすべて数値で構成されていれば真(0)を返す。 # 何か数値以外の文字が含まれていた場合には偽(1)を返す。 # if [ $# -ne 1 ]; then return 1 fi expr "$1" + 1 >/dev/null 2>&1 if [ $? -ge 2 ]; then return 1 fi return 0 } #以下使用例 NUMBER=123456 if IsMumeric $NUMBER then echo "$NUMBER is numeric" fi exit 0