read -p "Enter any String: " case $REPLY in +([[:digit:]]) ) echo "digits" ;; *) echo "not digits" ;; esac
- read -p "Enter any String: "
사용자 입력- case $REPLY in
case문 선언, 사용자 입력값 $REPLY 받아옴- +([[:digit:]]) ) echo "digits" ;;
조건1, $REPLY 가 digit 일 경우, 구분자 ;;- *) echo "not digits" ;;
조건2, 나머지 경우, 구분자 ;;- 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
사용자에게 명령의 옵션을 전달받기 위한 방법
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