シェルスクリプトを書く過程で、以下のif/else文がスクリプトの途中にあるという問題に遭遇しました
if [ $act -eq "add" ]
then
read - "add or update: " $comm
git commit -m "$comm $file"
else
git commit -m "$act $file"
fi
返ってくるエラーは
./gitup: line 13: [: add: integer expression expected
を使用して、スクリプトの残りの部分を処理します。ifセグメントで変数を整数ではなく文字列入力に評価/比較させるにはどうすればよいでしょうか
32 tony_perkis666 2013-01-30
ベストアンサー
こんな感じです
act="add"
if [[ $act = "add" ]]
then
echo good
else
echo not good
fi
-eq
は数値の比較に、=
は文字列の比較に使用します
49 Guru 2013-01-30
この方法も有効です。Guruの答えに非常に似ていますが、二重の角括弧の必要性を取り除きます
if [ "$act" == "add" ]
then
echo "Good!"
else
echo "Not good!"
fi
8 Yokai 2016-05-14