2016-05-24 1 views
2

ブールチェックを返しますか?バッシュ私は正規表現のチェックを行う簡単な関数を作成し

+1

その他: 'function'キーワードは、POSIXで定義された関数定義構文より重要な価値を追加しないbashismです。 'is_number(){'のみを使用することを検討してください。これはすべてのPOSIX準拠のシェルで動作します。 –

+0

... btw、sor​​ta-related(内容の例として示されているコード、およびPOSIX準拠の回答を含む):http://stackoverflow.com/questions/806906/how-do-i-test-if -a-variable-is-a-number-in-bash –

答えて

5

returnの文は必要ありません。関数の戻り値は、最後のステートメントの終了コードです。

function is_number() 
{ 
    [[ "$1" =~ ^-?[0-9]+$ ]] 
} 

は、明示的なreturn文を使用して、この同等のは次のようになります:

function is_number() 
{ 
    [[ "$1" =~ ^-?[0-9]+$ ]] 
    return $? 
} 

しかし、これをしない、それは無意味ですので、これで十分です。

+0

returnを使用する方法を示すために 'return $? 'を追加することはできますが、無駄です。 – choroba

関連する問題