Linuxpia/리눅스 사용 팁

[리눅스 팁] 리스트 형태 명령 실행 사례

Linuxpia4U 2024. 4. 21. 04:01
반응형

리스트 형태 명령 실행 사례

다음 두 쉘 명령 시퀀스 사례를 비교 설명하겠습니다.

첫 번째 경우

cd dir || exit 1

이 명령은 dir 디렉터리(디렉터리)로 이동을 시도합니다. 만약 dir 디렉터리로 이동하는 것이 실패한다면 (cd dir 명령이 0이 아닌 값을 반환한다면), exit 1 명령을 실행하여 쉘 스크립트를 종료시키는데, 상태 코드 1을 반환합니다. 이것은 오류 상황에서 스크립트의 실행을 멈추고자 할 때 자주 사용하는 패턴입니다.

두 번째 경우

cd dir || mkdir dir && cd dir || echo "I failed"

이 명령 시퀀스는 더 복잡합니다. 다음과 같은 순서로 동작합니다:

  1. dir 디렉터리로 이동을 시도합니다 (cd dir).
  2. 만약 해당 디렉터리로 이동하는 것이 실패한다면 (cd dir 명령이 0이 아닌 값을 반환한다면), mkdir dir 명령을 실행하여 dir 디렉터리를 생성합니다.
  3. 디렉터리 생성이 성공했거나 (이미 존재했을 수도 있으므로), dir 디렉터리로 다시 이동을 시도합니다.
  4. 만약 디렉터리 이동이 다시 실패한다면, "I failed"라는 메시지를 출력합니다.

caption: 디렉터리 'dir'이 생성되고 그 디렉터리로 이동된 결과

정리

이 시퀀스는 디렉터리로 이동하려고 시도하고, 실패할 경우 디렉터리를 생성한 뒤 다시 이동을 시도하는 로직을 구현한 것입니다. 디렉터리 이동이나 생성 어느 것도 성공하지 않으면 최종적으로 사용자에게 실패했음을 알리는 메시지를 출력합니다.

 

두 경우 모두 논리 연산자 ||을 사용하여 앞선 명령이 실패할 경우에만 뒤따르는 명령을 실행하도록 했으며, 두 번째 경우에서는 && 연산자도 사용하여 명령이 성공했을 때 다음 명령을 실행하도록 하고 있습니다.

반응형