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 , 就是 [ ] 这个内建命令使用的条件操
    作符, 数字用, = , != 字符用, == 这个该是 [[ ]] 用的,
    可用来比对正规表示式, 但用在 [ ] 也可,只是不太正统用法
shell脚本,可以使用if语句进行多条件判断。根据引用提供的示例,以下是一些常见的多条件判断的写法: 1. 如果条件a> b且a < c,则可以使用以下写法: ```shell if (( a > b )) && (( a < c )); then # 执行相关操作 fi 或者 if [[ $a > $b ]] && [[ $a < $c ]]; then # 执行相关操作 fi 或者 if [ $a -gt $b ] && [ $a -lt $c ]; then # 执行相关操作 fi ``` 2. 如果条件a> b或a < c,则可以使用以下写法: ```shell if (( a > b )) || (( a < c )); then # 执行相关操作 fi 或者 if [[ $a > $b ]] || [[ $a < $c ]]; then # 执行相关操作 fi 或者 if [ $a -gt $b ] || [ $a -lt $c ]; then # 执行相关操作 fi ``` 3. 可以使用`-o`表示or,`-a`表示and。例如: ```shell if [ $a -gt $b -a $a -lt $c ]; then # 执行相关操作 fi ``` 4. 使用`||`和`&&`也是可以的,但是需要使用两个独立的`123 #### 引用[.reference_title] - *1* *3* [总结:shell的if条件判断](https://blog.csdn.net/w2009211777/article/details/125450061)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *2* [Linux shell 脚本if判断多个条件](https://blog.csdn.net/weixin_37569048/article/details/80039941)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值