在bash shell脚本中使用复合条件

前端之家收集整理的这篇文章主要介绍了在bash shell脚本中使用复合条件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在bash脚本中做一些像下面这样的事情.我如何在bash语法中实现.
if !((a==b) && (a==c))
then 
do something
end if
@H_301_6@ 对于数值比较,您可以做:
if ! (( (a == b) && (a == c) ))

对于字符串比较:

if ! [[ "$a" == "$b" && "$a" == "$c" ]]

在Bash中,双括号设置了一个算术上下文(其中美元符号大多是可选的),用于比较(也用于((i = 0; i <= 10; i))和$(( ))算术扩展),并用于区分序列与创建子shell的单个括号集合. 例如,这个执行命令是真的,因为它一直是真的,它的作用是:

if (true); then echo hi; fi

这是一样的

if true; then echo hi; fi

除了创建子shell.但是,如果((true))测试名为“true”的变量的值.

如果你要包括一个美元符号,那么“$true”将明确地是一个变量,但是如果单括号(或没有括号)的行为会改变.

if ($true)

要么

if $true

将作为命令执行变量的内容,并根据命令的退出值执行条件动作(如果内容不是有效命令,则给出“未找到命令”消息).

if (($true))

做如上所述的((真))相同的事情.

猜你在找的Bash相关文章