2011-08-08 5 views
1

最初に無効であるかどうかを確認する方法がありますか?BASH:文字列が有効かどうかのテスト

if expr "$string" : '-\?[0-9]\+$' >/dev/null 
then 
    echo "String is a valid integer." 
else 
    echo "String is not a valid integer." 
fi 
+3

'[[! expr ...] '? – Nobody

+3

'! 'を使うのに' [] 'は必要ありません。あなたは '!偽の 'シェルの右とそれが成功する参照してください。 –

答えて

6

はい、私はあなたが必要とするすべては 'NOT論理' 演算子、すなわち

if ! expr "$string" : '-\?[0-9]\+$' >/dev/null ; then 
    #--^ right there ;-) 
     echo "String is not a valid integer." 
    else 
     echo "String is a valid integer." 
    fi 

私はこれが役に立てば幸いを追加することで、@nobodyと@BenJacksonに同意します。

P.S.あなたが新しいユーザーのように見えるように、あなたがそれを受け入れられたものとして覚えておいてください、そして/または役に立つ答えとして+(または - )を付けるのを助ける答えを得たら。

関連する問題