質問
文字列にダッシュが含まれているかどうかを検出しようとしていますが、何も機能していないようです(シェルは初めてです)。
if [ "$m" -eq "-" ]
then
echo "has dash"
else
echo "has no dash"
fi
解決
if [ "x$m" = "x-" ]; then
echo "is a dash"
else
echo "is not a dash"
fi
$ m
が-
。
他のヒント
-eq
は、整数の等価性をテストするために使用されます。文字列の等価性をテストするには、代わりに =
を使用します:
if [ "$m" = - ]
詳細については、 test
のマニュアルページを参照してください。
「-eq」演算子は算術比較を実行します。代わりに「=」演算子を使用する必要があります。すなわち:
if test" $ m" = '-';それから echo "ダッシュです" ;; 他に エコー「ダッシュなし」 fi
所属していません StackOverflow