shell 单中括号双中括号和gt、>和加大括号引用变量的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 单中括号双中括号和gt、>和加大括号引用变量的区别相关的知识,希望对你有一定的参考价值。

参考技术A 单括号就是test命令。 test -n 判断变量是否不为空,如果不为空那么表达式返回0通过,如果是空那么表达式返回1不通过。0代表True,1代表False。 test -z 判断变量是否为空,如果为空表达式返回0,如果不为空返回False。下面以 -z 为例,演示中括号判断变量的问题。

看上去没有什么问题。现在看一下 -n 。

我们可以看到 -n 不管怎么样都会通过。那么如何解决呢,可以两种解决方法:

PS:貌似zsh不支持,所以使用 > 最好使用双括号

> 比较的是对应字符ascii码, -gt 比较的一定要为数字

很简单,加大括号可以在引用变量的时候明确那个变量

不加大括号就变成引用变量abc了

最后,尽量使用双中括号。

以上是关于shell 单中括号双中括号和gt、>和加大括号引用变量的区别的主要内容,如果未能解决你的问题,请参考以下文章

shell if条件判断中:双中括号与单中括号的区别

学以致用十七----shell脚本之比较数字和字符串及if else

shell从入门到精通(15)双中括号[[]]用法

shell从入门到精通(15)双中括号[[]]用法

shell 条件表达式

shell中各种括号()(())[][[]]{}的作用