我正在准备一个脚本来使用单个 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