shell中比较大小需要注意的事项

在shell中,”-gt”或者”-lt”只能用于比较两个数字的大小,当我们想要比较两个字符的ASCII值时,则必须使用”>”或者”<“,而且需要注意,当使用”双中括号”进行判断时,”>”或者”<“不用转义即可正常使用,当使用”单中括号”进行判断时,”>”或者”<“需要转义后才能正常使用。

当使用”-n”或者”-z”这种方式判断变量是否为空时,”[ ]”与”[[  ]]”是有区别的。
使用”[ ]”时需要在变量的外侧加上双引号,与test命令的用法完全相同,使用”[[  ]]”时则不用。

在shell中,我们可以使用”-a”或者”-o”对多个条件进行连接,然后进行”与运算”或者”或运算”,也可以使用”&&”或者”||”对多个条件进行连接,但是,这两种方法对于”[ ]”或者”[[  ]]”来说,是存在区别的:

在使用”[[  ]]”时,不能使用”-a”或者”-o”对多个条件进行连接。
在使用”[  ]”时,如果使用”-a”或者”-o”对多个条件进行连接,”-a”或者”-o”必须被包含在”[ ]”之内。
在使用”[  ]”时,如果使用”&&”或者”||”对多个条件进行连接,”&&”或者”||”必须在”[ ]”之外。

在使用符号”=~”去匹配正则表达式时,只能使用”[[  ]]”,当使用”>”或者”<“判断字符串的ASCII值大小时,如果结合”[ ]”使用,则必须对”>”或者”<“进行转义。

Published by

silenthk

云想衣裳花相容,春风拂槛露华浓。 若非群玉山头见,会向瑶台月下逢。

发表评论

电子邮件地址不会被公开。 必填项已用*标注