私のためにブランチを切り替えるための小さなスクリプトを書こうとしています。私は長い間、一度だけbashで書いたことがあります。次のコードでは、if
とelif
はスキップされ、$1
と入力しても、常にelse
にスキップされます。私は様々な例を見て、それはすべきではありません。Bashの制御フローは何も関係なくスキップする
#!/bin/bash
if [ "$1 " == "-p" ]
then
cd ui;
git checkout p_4.1;
cd ../services;
git checkout p_4.1;
cd ../application;
git checkout p_4.1;
cd ..;
elif [ "$1 " == "-b" ]
then
cd ui;
git checkout b_.1;
cd ../services;
git checkout b_.1;
cd ../application;
git checkout b_.1;
cd ..;
elif [ "$1 " == "-g" ]
then
cd ui;
git checkout g_.1;
cd ../services;
git checkout g_.1;
cd ../application;
git checkout g_.1;
cd ..;
elif [ "$1 " == "-j" ]
then
cd ui;
git checkout j_.1;
cd ../services;
git checkout j_.1;
cd ../application;
git checkout j_.1;
cd ..;
else
echo "No Command Known!"
fi
なぜそれが機能していないのかわかりません。
'case $ 1 in ...'や 'getopt'や' getopts'を見たいかもしれません。 –