加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 18:47:44 所属栏目:安全 来源:网络整理
导读:我想在bash脚本中做一些像下面这样的事情.我如何在bash语法中实现. if !((a==b) (a==c))then do somethingend if 对于数值比较,您可以做: if ! (( (a == b) (a == c) )) 对于字符串比较: if ! [[ "$a" == "$b" "$a" == "$c" ]] 在Bash中,双括号设置了一个
我想在bash脚本中做一些像下面这样的事情.我如何在bash语法中实现.
if !((a==b) && (a==c))
then 
do something
end if
对于数值比较,您可以做:
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))

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读