bash 명령이 실패했는지 확인하기 위해 if 조건을 실행하는 방법은 무엇입니까?

bash 명령이 실패했는지 확인하기 위해 if 조건을 실행하는 방법은 무엇입니까?

command나는 실패할 경우에만 실행되는 매우 간단한 조건을 원합니다 .

이 예에서는 명령이 성공하는 조건을 기반으로 합니다.

if command ; then
    echo "Command succeeded"
fi

나는 그 반대를 원한다- 어떻게 해야 하나요? 비교 외에 우아한 방법이 있습니까?$?

나는 or 연산자를 사용하고 싶지 않습니다 ||. 이는 원하는 기능을 의미론적으로 전달합니다. 의 경우 command || echo "command failed".

답변1

명령의 종료 상태 취소:

if ! command ; then
    echo "Command failed"
fi

답변2

@StephenKitt 정답에 대한 대안: :"then" 블록과 블록 else내에서 "no-op" 명령을 사용하십시오 .

if command; then :; else
    echo "command failed"
fi

전체 공개: 나 자신은 이 방법을 사용하지 않을 것입니다.

관련 정보