使用括号和方括号的IF语句之间的Bash差异

在学习一点 bash左右时,我来看看四种类型的if语句:

>单个括号 – (…)
>双括号 – ((…))
>单边支架 – […]
>双方括号 – [[…]

括号和方括号在bash中的区别是什么。

您列出的测试:

>单括号 – (…)正在创建子shell
>双括号 – ((…))用于算术运算
>单一方括号 – […]是POSIX测试的语法
> Double Square Brackets – [[…]]是bash条件表达式的语法(类似于test但是更强大)

不是详尽的,你可以使用布尔逻辑

if command; then ...

也因为命令有退出状态。在bash中,0为真,> 0为假。

您可以看到退出状态,如下所示:

command
echo $?

参见:

http://wiki.bash-hackers.org/syntax/basicgrammar
http://wiki.bash-hackers.org/syntax/arith_expr
http://mywiki.wooledge.org/BashGuide/TestsAndConditionals

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...