Tumbleweed의 .bashrc에서 "|| true"의 목적은 무엇입니까?

Tumbleweed의 .bashrc에서 "|| true"의 목적은 무엇입니까?

오픈수세 텀블위드(openSUSE Tumbleweed)는

test -s ~/.alias && . ~/.alias || true

그 내용으로 ~/.bashrc.

왼쪽 부분에 대한 나의 이해 || true는 다음과 같습니다.

  • ~/.alias존재하는지, 크기가 0보다 큰지 확인합니다 .
  • 그리고 조건이 충족되면 파일을 받아옵니다.

그렇다면 왜 || true필요한가요?


GNU bash, 버전 5.0.16(1)-릴리스(x86_64-suse-linux-gnu)

답변1

|| true~/.alias명령이 실패하더라도 상관하지 않는 상황에서 유용합니다. 이 특별한 경우에는 명령이 존재하지 않으면 0이 아닌 종료 코드로 실패 test -s하지만 다른 결과가 발생하는 것을 원하지 않습니다. || true전체 명령 목록( source 포함 ~/.alias)이 항상 성공 상태로 종료되는지 확인하세요.

.bashrc이는 포함된 경우 특히 관련이 있지만 set -e쉘 시작 스크립트에서는 일반적이지 않습니다.

또 다른 쓰는 방법은

if test -s ~/.alias; then . ~/.alias; fi

~/.alias그러나 구매 결과 오류가 발생하면 0이 아닌 종료 코드로 종료됩니다.

당신은 또한 볼 수 있습니다"command || true" 패턴이 왜 유용한가요?

답변2

0이 아닌(실패) 상태가 반환 || true되더라도 전체 명령이 "성공" 상태를 반환하는지 확인하세요 ../.aliases

(오류 시 종료)를 사용하는 경우 set -e편리합니다 .

관련 정보