shell if访问并列

格式如下,在比较时,数字和字符串用不同的比较符号

1.如果a>b且a<c

if((a>b))&&((a<c))

或者

if[[$a>$b]]&&[[$a<$c]]

或者

if[$a-gt$b-a$a-lt$c]

2.如果a>b或a<c

if((a>b))||((a<c))

或者

if[[$a>$b]]||[[$a<$c]]

或者

if[$a-gt$b-o$a-lt$c]

3.-o=or,-a=and,但我一向只用||或者&&

4."||"和"&&"在SHELL里可以用吗?也就是第一个写成if[a>b&&a<c]也可以吗?

可用,但是要两个独立的[],[[]]或(())看1

5-ne比较数字(numberic);!=比较字符(string),但后者拿来

比较数字也可,只是不是标准用法

-lt是等同<,但<只能在shell的数值操作符(())或

者逻缉操作符[[]]才可使用,-lt,-eq,-gt,-ge

-le,这些是test,就是[]这个内建命令使用的条件操

作符,数字用,=,!=字符用,==这个该是[[]]用的,

可用来比对正规表示式,但用在[]也可,只是不太正统用法

相关推荐