반응형
리스트 형태 명령 실행 사례
다음 두 쉘 명령 시퀀스 사례를 비교 설명하겠습니다.
첫 번째 경우
cd dir || exit 1
이 명령은 dir
디렉터리(디렉터리)로 이동을 시도합니다. 만약 dir
디렉터리로 이동하는 것이 실패한다면 (cd dir
명령이 0이 아닌 값을 반환한다면), exit 1
명령을 실행하여 쉘 스크립트를 종료시키는데, 상태 코드 1을 반환합니다. 이것은 오류 상황에서 스크립트의 실행을 멈추고자 할 때 자주 사용하는 패턴입니다.
두 번째 경우
cd dir || mkdir dir && cd dir || echo "I failed"
이 명령 시퀀스는 더 복잡합니다. 다음과 같은 순서로 동작합니다:
dir
디렉터리로 이동을 시도합니다 (cd dir
).- 만약 해당 디렉터리로 이동하는 것이 실패한다면 (
cd dir
명령이 0이 아닌 값을 반환한다면),mkdir dir
명령을 실행하여dir
디렉터리를 생성합니다. - 디렉터리 생성이 성공했거나 (이미 존재했을 수도 있으므로),
dir
디렉터리로 다시 이동을 시도합니다. - 만약 디렉터리 이동이 다시 실패한다면, "I failed"라는 메시지를 출력합니다.
정리
이 시퀀스는 디렉터리로 이동하려고 시도하고, 실패할 경우 디렉터리를 생성한 뒤 다시 이동을 시도하는 로직을 구현한 것입니다. 디렉터리 이동이나 생성 어느 것도 성공하지 않으면 최종적으로 사용자에게 실패했음을 알리는 메시지를 출력합니다.
두 경우 모두 논리 연산자 ||
을 사용하여 앞선 명령이 실패할 경우에만 뒤따르는 명령을 실행하도록 했으며, 두 번째 경우에서는 &&
연산자도 사용하여 명령이 성공했을 때 다음 명령을 실행하도록 하고 있습니다.
반응형
'Linuxpia > 리눅스 사용 팁' 카테고리의 다른 글
치환(command substitution)을 사용하여 명령 실행 (65) | 2024.04.24 |
---|---|
[리눅스 팁] 명령의 성공 또는 실패 여부를 나타내는 종료 코드 (59) | 2024.04.22 |
[리눅스 팁] 리스트 형태로 명령 실행하기 (48) | 2024.04.20 |
설정 파일 다시 읽어들이기 (64) | 2024.04.17 |
사용자별 시작 파일과 초기화 파일의 차이 (60) | 2024.04.16 |