"exit"가 주석 처리되면 코드가 제대로 작동합니다.

"exit"가 주석 처리되면 코드가 제대로 작동합니다.

지침을 따르고 있지만 사용하는 방법이 혼란스럽습니다.exit

    FILE=~/.bashrc
    if [ -e "$FILE" ] ; then
        if [ -f "$FILE" ]; then
            echo "$FILE is a regular file."
        fi
        if [ -d "$FILE" ]; then
            echo "$FILE is a directory."
        fi
        if [ -r "$FILE" ] ; then
            echo "$FILE is readable."
        fi
        if [ -w "$FILE" ] ; then
            echo "$FILE is writabe."
        fi
        if [ -x "$FILE" ]; then
            echo '$FILE is executable/searchable.'
        fi
        else
            echo '$FILE does not exist'
            exit 1
        fi
    exit

여기로 달려가

    $ bash test_file.sh
    /Users/me/.bashrc is a regular file.
    /Users/me/.bashrc is readable.
    /Users/me/.bashrc is writabe.

명령이 주석 처리된 경우 exit출력은 변경되지 않은 상태로 유지됩니다.

그것은 무엇을 합니까? 언어에 익숙해지면 내보내기를 생략할 수 있나요?

답변1

exit명령은 스크립트를 종료할 뿐만 아니라 one 을 설정합니다 exit code. 이는 관례적으로 성공적인 종료 시 0이고 오류 시 다른 정수입니다. 따라서 스크립트에서 이 명령의 목적은 호출자(다른 스크립트/프로그램 또는 사용자)에게 원인을 알려주는 것입니다. 프로그램이 오류와 함께 종료됩니다. 비슷한 쉘 에서는 bash쉘 변수를 검사하여 종료 코드를 보거나 조사할 수 있습니다 $?.

또한, 들여쓰기 문제가 있습니다. 절 은 첫 문장과 같은 수준 else으로 들여쓰기 되어야 합니다 ...if

관련 정보