我看到人们用不同格式的条件语句编写他们的bash脚本。 例如,这里有几个例子:
x=20;
if [ "$x" -eq "20" ];
then
echo "1. yes!";
fi
if [[ "$x" -eq "20" ]];
then
echo "2. yes!";
fi
if (( "$x" == "20" ));
then
echo "3. yes!";
fi
上面的代码在bash shell中将这三个都称为YES。
显然,我在使用这些语法时看到了各种不同,例如当我需要复合逻辑语句(使用诸如&& ||之类的东西)或字符串/数字比较时。
除此之外,即使是变量访问似乎也存在差异$ x $((x))$ {x}等。
有人可以澄清上述每种语法的重要性并揭开我的思想神秘面纱吗?