Linux와 커맨드 라인 기초
$ false && echo A || echo B
$ true || echo C; echo D위의 두 줄을 셸(shell)에서 실행했을 때 표시되는 문자로 올바른 것은?
- AD만
- BB와 D
- CB와 C와 D
정답과 해설 보기
정답: B. B와 D
명령은 종료할 때 종료 상태를 돌려주며, 0이 성공, 0 이외가 실패를 나타냅니다(직전의 값은 $?로 볼 수 있습니다). 'A && B'는 A가 성공했을 때만 B를, 'A || B'는 A가 실패했을 때만 B를 실행하며, ';'는 결과와 관계없이 다음을 실행합니다. 첫 번째 줄에서는 false가 실패하므로 echo A는 건너뛰어지고, 'false && echo A' 전체가 실패로 취급되어 || 뒤의 echo B가 실행됩니다. 두 번째 줄에서는 true가 성공하므로 echo C는 실행되지 않고, ';' 뒤의 echo D는 반드시 실행되므로 표시는 B와 D가 됩니다.