単一のifステートメントを使用して4つの変数を比較するスクリプトを準備しています。
以下は私のスクリプトです。
#!/bin/bash
a="abc"
b="abc"
c="deftdgr"
d="def"
if [[ $a = $b && $d = ]]
then
echo "inside if loop"
break
else
echo "inside else loop"
fi
私の質問は:tgeステートメントが実際の値を返す$d
ようにワイルドカードを使用して比較する方法はありますか?出力は「ifループの内部」ですか?$c
if
答え1
AND
これを論理、論理演算子といいます。
exp1 -a exp2 returns true if both exp1 and exp2 are true.
文字列をマッピングする場合は、次のことができます。
if [[ condition1 && condition2 ]]; then echo "blah" ; fi
これを表現する1つの方法は次のとおりです。
if [[ "$a" == "$b" && "$a" == "$c" ]]
数値を比較すると、次のことができます。
if (( (a == b) && (a == c) )); then echo "blah" ; fi
医者カチッという音
答え2
if条件を次のように修正してください。
#!/bin/bash
a="abc"
b="abc"
c="deftdgr"
d="def"
if [[ $a = "$b" && $c == "$d"* ]]
then
echo "inside if loop"
#break you don't need this at all
else
echo "inside else loop"
fi