読み取りプロンプトから複数変数を読み取る

読み取りプロンプトから複数変数を読み取る

私はシェルスクリプトの初心者であり、Webプロジェクトの起動環境を作成するための基本的なスクリプトを作成しようとしています。

read -p 'package name ?'に渡されたすべての引数を読み、そのうちの1つがケースオプションと等しい場合は、そのオプションを実行するようにケースループに指示したいと思います。たとえば、「パッケージ名」を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

おすすめ記事