파일을 제거하기 전에 서비스를 중지하는 makefile이 있습니다. 서비스를 중지 할 수 없으면 오류가 발생합니다. 이것은 분명히 원치 않는 것이므로 추가하고 || true
싶지만을 놓쳤다 |
. 그것을 만들기:
stop service foo | true
rm /etc/init/foo.conf
왜 이것이 작동하고 있으며 무슨 일이 일어나고 있는지 혼란 스럽습니다. 이것이 true
키워드가 아니라 응용 프로그램 임을 의미합니까 ? 그들은 같은가요? 사용해야 할 좋은 이유가 | true
있습니까?
답변
true
하고 false
있습니다 로 coreutils는 (일반적 내장 인 쉘) 당신이 그 동작을 필요로하는 일이 상황에, 0이 아닌 0을 반환하는. 매뉴얼 페이지에서 :
참-아무 것도, 성공적으로
거짓-아무 것도, 실패
따라서 출력을에서 stop service foo
로 파이핑하는 중입니다.이 출력은 true
무시하고 0을 반환합니다. 기술적으로 작동하지만 || true
의도 한 바를 분명히 사용해야 합니다. 출력을 사용하지 않는 프로그램으로 출력을 파이프 할 이유가 없습니다.