linux 명령어 case
내부 명령어 확인하기.
$ case
-sh: 35: Syntax error: newline unexpected (expecting word)
$
Linux 명령어 case
조건에 따라 명령을 실행하는 제어 구조
1. 자세한 설명
case
명령어는 Linux에서 셸 스크립트 내에서 사용되며 조건에 따라 다양한 명령을 실행할 수 있는 제어 구조입니다. 특정 값이나 패턴이 일치하는 경우에 대응하는 명령 블록을 실행하며, 복잡한 조건문을 간소화하는 데 유용합니다.
2. 사용법
- 기본 구조
case [값] in [패턴]) 명령;; esac
값을 패턴과 비교하여 해당하는 명령을 실행합니다. - 다중 조건 처리
여러 패턴을 정의하여 각각 다른 명령을 실행할 수 있습니다. - 기본 동작 정의
패턴에 맞지 않는 경우 기본 동작을 정의할 수 있습니다.
3. 자세하게 설명
case
명령어는 다음과 같은 특징을 가지고 있습니다:
- 패턴 매칭: 와일드카드(*, ?)를 사용하여 다양한 조건을 처리할 수 있습니다.
- 가독성 향상: 복잡한 조건문을 간소화하여 스크립트를 쉽게 읽고 유지보수할 수 있게 합니다.
- 다중 명령 실행: 각 패턴에 대해 여러 명령을 실행할 수 있습니다.
- 기본값 설정: 패턴이 없는 경우를 처리하기 위한 기본 동작을 정의할 수 있습니다.
4. 자세한 명령어 사용법
다음은 case
명령어의 다양한 사용 예제입니다:
# 기본 구조 case $1 in start) echo "서비스를 시작합니다." ;; stop) echo "서비스를 중지합니다." ;; restart) echo "서비스를 재시작합니다." ;; *) echo "알 수 없는 옵션입니다." ;; esac # 파일 확장자에 따라 처리 filename="example.txt" case "$filename" in *.txt) echo "텍스트 파일입니다." ;; *.jpg | *.png) echo "이미지 파일입니다." ;; *) echo "알 수 없는 파일 유형입니다." ;; esac # 사용자 입력 값 처리 read -p "옵션을 선택하세요 (start/stop/restart): " option case $option in start) echo "시작됨" ;; stop) echo "중지됨" ;; restart) echo "재시작됨" ;; *) echo "잘못된 입력" ;; esac # 스크립트에서 조건별 명령 실행 #!/bin/bash option="stop" case $option in start) echo "서비스 시작" ;; stop) echo "서비스 중지" ;; *) echo "기본 동작" ;; esac # 여러 패턴 처리 input="test" case $input in test | TEST) echo "테스트 실행" ;; prod) echo "프로덕션 실행" ;; *) echo "기본 상태" ;; esac # 특정 사용자 역할 처리 role="admin" case $role in admin) echo "관리자 권한 부여" ;; user) echo "사용자 권한 부여" ;; *) echo "권한 없음" ;; esac # 결과를 로그 파일에 저장 option="restart" case $option in restart) echo "재시작됨" > result.log ;; *) echo "실패" > result.log ;; esac # 입력 값 확인 및 처리 read input case $input in y | Y) echo "YES 선택" ;; n | N) echo "NO 선택" ;; *) echo "잘못된 선택" ;; esac # 특정 프로그램 실행 조건 command="backup" case $command in backup) echo "백업 수행 중" ;; restore) echo "복원 수행 중" ;; *) echo "알 수 없는 작업" ;; esac # 복잡한 조건 처리 case $1 in [0-9]*) echo "숫자로 시작" ;; [a-z]*) echo "소문자로 시작" ;; [A-Z]*) echo "대문자로 시작" ;; *) echo "기타" ;; esac
위의 예제는 case
명령어를 사용하여 조건에 따른 명령을 실행하는 다양한 방법을 보여줍니다.
No responses yet