나는 스크립트를 강타 할 새로운 해요 다음과 같은 간단한배쉬 스크립트 검사 조건
function wait_some {
if [ -z $1 ];
echo some_string
then if ! [[ $1 =~ ^[0-9]+([.][0-9]+)?$ ]];
then
echo "$1 is not a number"
exit 2
else echo "it's a number"
fi
fi
}
wait_some 2.2 //prints some_string and then it's a number
를 작성하려고 그리고 예상대로이 작동합니다.
하지만 에코 "일부 문자열을 삭제하면 '그것은 아무것도 출력하지 :
function wait_some {
if [ -z $1 ];
then if ! [[ $1 =~ ^[0-9]+([.][0-9]+)?$ ]];
then
echo "$1 is not a number"
exit 2
else echo "it's a number"
fi
fi
}
wait_some 2.2 //prints nothing
왜 왜 조건 검사가 기능을 중단 직후 echo some_string
삭제 않습니다
작동합니다. 감사합니다. – user3663882
'-z' 테스트는 필요하지 않습니다. 빈 문자열을 정규 표현식과 정확하게 일치 시키려고 할 수 있습니다. 빈 문자열은 숫자가 아닙니다 :) – chepner
@chepner : 주석 주셔서 감사합니다. 잘못된 구문을 제외하고 작성자의 코드를 수정하고 싶지 않았습니다. 많은 개선이 가능합니다. :) – Inian