쉘 스크립트 OR 연산자 질문
조회수 502회
service ssh status > /dev/null || sudo service ssh start
리눅스 cli 상에서 SSH 서비스를 실행시키는 스크립트인데
가운데 ||
연산자는 OR잖아요?
이게 어떤 조건문도 아니고 명령어 두 개 사이에 ||
연산자가 들어가면 어떻게 동작하는 건가요?
실제로 실행시켜 보면 그냥 SSH가 시작되는 것 말고 딱히 눈에 띄는 건 없네요.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
a || b
a 명령어를 우선 실행시킨 후, 그 명령어의 종료 상태가 0이 아닌 경우에만 b를 실행합니다.
역사적 전통 같은건데, 프로그램은 끝까지 의도된 대로 동작한 경우에는 종료 상태 0을 반환하고, 어떤 예외 조건 등으로 도중에 종료시키는 경우에는 종료 상태를 0 이외의 숫자를 반환하는 관습이 있습니다.
a를 실행시킨 후에 이게 정상적으로 동작하지 않았을 때에만 b가 실행된다고 기억하시면 되겠습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력