Linux 中shell 脚本if判断多个条件

2022-09-18 16:00:23 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

Linux 中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 , 就是 [ ] 这个内建命令使用的条件操 

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

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

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157715.html原文链接:https://javaforall.cn

0 人点赞