2011-08-08 8 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

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

+3

'! '를 사용하기 위해'[]'이 필요하지 않습니다. '! false'를 쉘에 넣고 성공했다. –

답변

6

예, 내가 @nobody과 @BenJackson에 동의, 당신이 필요

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 

난이 도움이되기를 바랍니다, 즉 '논리 NOT'연산자를 추가하는 것입니다.

P. 당신이 새로운 사용자로 보일 때, 당신이 그것을 받아 들일 수있는 것으로 표시하고/또는 유용한 답으로 + (또는 -)를주는 것을 기억하는 데 도움이되는 대답을 얻으면.