使用单个 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

我的问题是:有什么方法可以使用任何通配符进行比较$d$c以便 tgeif语句返回真实值。输出是“if 循环内部”?

答案1

这称为逻辑AND、逻辑运算符。

exp1 -a  exp2 returns true if both exp1 and exp2 are true.

如果您正在映射字符串,则可以:

  if [[ condition1 && condition2 ]]; then  echo "blah" ; fi 

表达这一点的一种方式:

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

相关内容