<Linux Shell Script Chapter 5> - 비교와 루프문 4

심우열·2023년 2월 22일
0

Linux Shell Script

목록 보기
14/17

11. case

c언어의 switch 문의 기능을 하는 case

1. 사용자 입력 확인하기

read -p "Enter any String: "
case $REPLY in
	+([[:digit:]]) ) echo "digits" ;;
    *) echo "not digits" ;;
esac
  1. read -p "Enter any String: "
    사용자 입력
  2. case $REPLY in
    case문 선언, 사용자 입력값 $REPLY 받아옴
  3. +([[:digit:]]) ) echo "digits" ;;
    조건1, $REPLY 가 digit 일 경우, 구분자 ;;
  4. *) echo "not digits" ;;
    조건2, 나머지 경우, 구분자 ;;
  5. esac
    case문 종료 선언

2. 사용자에게 Y/n 입력을 받아 종료하는 스크립트

#!/bin/bash
read -s -n 1 -p "You really want to exit? " response
case "$response" in
	Y|y)echo YES ;;
    N|n)echo NO ;;
    *)kill -SIGKILL $$;;
esac

12. getopts

사용자에게 명령의 옵션을 전달받기 위한 방법

13. select

1. PS3, select

PS3는 다음과 같은 출력 형식을 만들어주는 포맷, select 문과 함께 사용

movies=("Avengers" "Matrix" "Titanic")
PS3="Please Select your farvorite movie: "
select movie in ${movies[@]}
do
	echo "$movie selected"
done        

2. PS3, select, case

movies=("Avengers" "Matrix" "Titanic" "None")
PS3="Please Select your farvorite movie: "
select movie in ${movies[@]}
do
	case $movie in
    	"None") echo "My Favorite movie is not on the list. quit";break;;
        *) echo "$movie selected";;
	esac
done    

profile
Dev Ops, "Git, Linux, Docker, Kubernetes, ansible, " .

0개의 댓글