if
私のBashスクリプトには次のブロックがあります。
if [ ${PACKAGENAME} -eq kakadu-v6_4-00902C ]; then
echo "successfully entered if block!!"
fi
if
同じであっても、$PACKAGENAME
スクリプトの実行は私のブロックに入りませんkakadu-v6_4-00902C
。私は何が間違っていましたか?
ベストアンサー1
-eq
2 つの数値を比較するために使用される算術演算子です。
=
(portable / standard sh
)=~
または代わりに使用してください==
。
また、${PACKAGENAME}
スペースやワイルドカードを含めると、複数の引数に分割され、makeが必要な[
ものよりも多くの引数を見ることができるので、引用符を使用してください。バラよりここ一般的なbashトラップのリストです。
if [ "${PACKAGENAME}" = 'kakadu-v6_4-00902C' ]; then
echo "successfully entered if block!!"
fi
参照man bash
、検索(/)CONDITIONAL EXPRESSIONS
。