Shell基本运算符之布尔运算符、逻辑运算符

Shell基本运算符

=============================摘自与菜鸟教程===============================

1、布尔运算符

非运算,表达式为true则返回false,否则返回true

[ ! false ]

-o

或运算,有一个表达式为true,则返回true

[ $1 -lt 20 -o $2 -gt 10 ]

-a

与运算,两个表达式都为true才返回true

[ $1 -lt 20 -a $2 -gt 10 ]

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/bash
###本脚本主要写于20190905
###本脚本主要用于逻辑运算符
if [ ! $1 ]
then
    echo "==============该脚本运行格式: sh $0 变量1 变量2"
    break
else
    if [ ! $2 ]
    then
        echo "==============该脚本运行格式: sh $0 变量1 变量2"
        break
    else
        echo "请输入你想要输入的数据:"
        read file
        ####获取输入的变量无法判断输入的类型,导致输入字符串类型会导致脚本报错
        ###非运算
        if [ $1 != $2 ]
        then
            echo "变量a不等于变量b"
        else
            echo "变量a等于变量b"
        fi
        ###与运算
        if [ $1 -lt $file -a $2 -gt $file ]
        then
            echo "变量a小于$file且变量b大于$file结果为真"
        else
            echo "变量a小于$file且变量b大于$file结果为假"
        fi
 
        ###或运算
        if [ $1 -lt $file -o $2 -gt $file ]
        then
            echo "变量a小于$file或者变量b大于$file结果为真"
        else
            echo "变量a小于$file或者变量b大于$file结果为假"
        fi
    fi
fi

  2、逻辑运算符

运算符

说明

举例

&&

逻辑的and

[ $a -lt 100 && $b -gt 100 ]

||

逻辑的or

[ $a -lt 100 || $b -gt 100 ]

 

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/bash
###本脚本写于20190905
###主要用于练习逻辑运算符
if [ ! $1 ]
then
    echo "==============该脚本运行格式: sh $0 变量1 变量2"
    break
else
    if [ ! $2 ]
    then
        echo "==============该脚本运行格式: sh $0 变量1 变量2"
        break
    else
        echo "请输入你想要输入的数据:"
        read file
        ####获取输入的变量无法判断输入的类型,导致输入字符串类型会导致脚本报错
        ###逻辑的and
        if [[ $1 -lt $file && $2 -gt $file ]]
        then
            echo "$1小于$file且$2大于$file结果为真"
        else
            echo "$1小于$file且$2大于$file结果为假"
        fi
        ###逻辑的or
        if [[ $1 -lt $file || $2 -gt $file ]]
        then
            echo "$1小于$file或者$2大于$file结果为真"
        else
            echo "$1小于$file或者$2大于$file结果为假"
        fi
    fi
fi

  

posted @   小菜鸡1枚  阅读(2492)  评论(1编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示