답변:
true하고 false있습니다 로 coreutils는 (일반적 내장 인 쉘) 당신이 그 동작을 필요로하는 일이 상황에, 0이 아닌 0을 반환하는. 매뉴얼 페이지에서 :
참-아무 것도, 성공적으로
거짓-아무 것도, 실패
따라서 출력을에서 stop service foo로 파이핑하는 중입니다.이 출력은 true무시하고 0을 반환합니다. 기술적으로 작동하지만 || true의도 한 바를 분명히 사용해야 합니다. 출력을 사용하지 않는 프로그램으로 출력을 파이프 할 이유가 없습니다.
| true는 명령이 파이프 버퍼를 채우는 데 충분한 출력을 생성 true하면 읽기를 기다리는 것을 차단 하기 때문입니다.
foo || true와 foo | true같은 일을하지 않습니다 foo || true출력을 보여줍니다 foo반면, foo | true모든 것을 버리고 것이다 foo(그리고 표준 출력에 쓰기를 foo함께 죽을 것 같다 SIGPIPE, 이미 표시 또는 블록).