읽기 프롬프트에서 여러 변수 읽기

읽기 프롬프트에서 여러 변수 읽기

저는 쉘 스크립팅의 초보자이고 웹 프로젝트의 시작 환경을 만들기 위한 기본 스크립트를 만들려고 합니다.

read -p 'package name ?'에 전달된 모든 인수를 읽고 그 중 하나가 케이스 옵션과 같으면 해당 옵션을 실행하도록 케이스 루프에 지시하고 싶습니다. 예를 들어 "패키지 이름"을 npm git이라고 쓰면 npm init, git init가 실행됩니다.

read -p 'folder name ?' nom
mkdir /Users/ineszarka/Sites/$nom
cd /Users/ineszarka/Sites/$nom
read -p 'package name ?' opt optt
case $opt OR $optt  in
        "git")
                git init
                ;;
        "npm")
                npm init
                ;;
        "Jean")
                echo "Hé Jean, ça va ?"
                ;;
        "quit")
                break
                ;;
        *)
                echo "J'te connais pas, ouste !"
                ;;
esac

도움을 주셔서 미리 감사드립니다!

답변1

입력을 배열로 읽습니다.

read -p 'package name ?' -a opts

그런 다음 배열을 반복합니다.

for opt in "${opts[@]}"
do
    case "$opt" in
    ...
    esac
done

관련 정보