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 |
分类:
ShellScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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语句:使用策略模式优化代码结构