나는이 분야에서 필연적으로 결과를 얻었습니다. 다음은 실험적인 실험 결과입니다. 먼저 bash 또는 * nix 명령에 대한 몇 가지 ' 이론 ':
- 성공 == 0 ... 즉. 오류 상태 코드 없음)
- FAIL! = 0 ...... 일부 상태 코드
예:
if ls -lt /nonexistantdir
then
echo "found"
else
echo "FAIL"
fi
#
echo
ls -lt /nonexistantdir; echo "status = $?"
echo "status = $?"
산출:
ls: cannot access '/nonexistantdir': No such file or directory
FAIL...
ls: cannot access '/nonexistantdir': No such file or directory
status = 2
표시된대로 ls
명령은 상태 코드 = 2를 리턴합니다. 유효한 디렉토리를 시도하면 상태는 0 ( 0 )입니다. 거의 모든 다른 언어와 동일하지 않습니다.
규칙 # 1- 만들기 ...
Bash 문 에서 오류 코드를 테스트 하고 있음을 기억해야합니다 if
. 상수를 설정하거나 쉘 true
또는 false
명령을 사용할 수 있습니다 .
TRUE=0
FALSE=1
# valid number function
#
valNum()
{
flag=$TRUE
if [[ $1 != [1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ]]; then
echo "Invalid Number"
flag=$FALSE
fi
return $flag
}
# later on ...
#
if validNum Abc
then
echo "Lucky number"
else
echo "Not lucky."
fi
출력 :
Invalid Number
Not lucky.
그러나 그의 대답이 옳기 때문에 ' 투표 '@Gilles 를 제공하는 것이 좋습니다 . 나는 ePaper에 대한 단순한 측면을 원했습니다.
또 다른 하나는 test
명령입니다. 이것은 다음과 같습니다
[[ some-expression ]];
대부분의 경우 그리고 예를 들면 :
$ test 1
$ echo "result = $?"
result = 0
$ test 0
$ echo "result = $?"
result = 0
Zero (0)은 true 입니다. 왜? 맨 페이지는 NULL이 아닌 경우 단일 인수가 ' true ' 라고 말합니다 .
참고 문헌 :