Linux 쉘 스크립트와 관련하여 다음이 있습니다.
verifyIfFileExists(){
...
returns 0 # if the file exists
...
returns 1 # if the does not exist
}
...
something(){
verifyIfFileExists
resultVerification=$?
if [[ $resultVerification -eq 0 ]]; then
...
else
...
fi
...
}
위에 표시된 코드는 예상대로 작동합니다. 가능한지, 메서드를 호출하고 명령문에서 평가하는 방법을 알고 싶습니다. 선언을 if
피합니다 resultVerification=$?
. 다음과 같습니다.
something(){
verifyIfFileExists
if [[ $(verifyIfFileExists) -eq 0 ]]; then
...
else
...
fi
답변1
만약에주문하다
성공하면command
귀하의 경우 상태 0으로 종료하십시오.
if verifyIfFileExists; then
...
else
...
fi
[
그 [[
자체는 인수로 주어진 표현식의 평가에 따라 0 또는 1을 반환하는 명령입니다. 그래서
if [[ ...
일반 인스턴스입니다.
만약에주문하다위에 표시된 대로.
나중에 사용하려는 경우 종료 상태를 다른 변수에 저장하는 것이 유용할 수 있습니다.
... run a command
result=$?
printf "Command foo exited with result %s.\n" "$result"
if [[ "$result" -eq 0 ]]; then
...
fi
그럴 필요 없다면 그럼
command
if [[ "$?" -eq 0 ]]; then
다음과 같이 다시 작성할 수 있습니다.
if command; then
읽기가 더 쉽다고 생각합니다. 함수에 해당 이름이 있는 경우 특히 그렇습니다.예를 들어
if fileExists; then
당신은 또한 볼 수 있습니다쉘체크 SC2181더 많은 함정이 나열되어 있습니다.
답변2
그냥 사용:
if verifyIfFileExists ; then
# checking for return code 0
또는
if ! verifyIfFileExists ; then
# checking for return code 1