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