単一のifステートメントを使用して4つの変数を比較します。

単一のifステートメントを使用して4つの変数を比較します。

単一の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ループの内部」ですか?$cif

答え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

関連情報