数値を判断するShell関数

文字列が数値かどうかを判定する関数。
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