Shell中运算符有哪些
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章给大家分享的是有关Shell中运算符有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。算数运算符运算符说明举例+加法`expr $a + $b`-减法`expr
千家信息网最后更新 2025年12月01日Shell中运算符有哪些
这篇文章给大家分享的是有关Shell中运算符有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
算数运算符
| 运算符 | 说明 | 举例 |
|---|---|---|
| + | 加法 | `expr $a + $b` |
| - | 减法 | `expr $a - $b` |
| * | 乘法 | `expr $a \* $b` |
| / | 除法 | `expr $b / $a` |
| % | 取余 | `expr $b % $a` |
| = | 赋值 | a=$b 将把变量 b 的值赋给 a。 |
| == | 相等。用于比较两个数字,相同则返回 true。 | [ $a == $b ] 返回 false。 |
| != | 不相等。用于比较两个数字,不相同则返回 true。 | [ $a != $b ] 返回 true |
示例:
#!/bin/bash#author:zrca=5b=10val=`expr ${a} + ${b}`echo "a + b : ${val}"val=`expr ${a} - ${b}`echo "a - b : ${val}"val=`expr ${a} \* ${b}`echo "a * b : ${val}"val=`expr ${a} / ${b}`echo "a / b : ${val}"#注意空格使用if [ $a == $b ];then echo " a = b "fiif [ $a != $b ];then echo " a != b "fi关系运算符
关系运算符不支持字符串(字符串见后面),只支持数字 例:a=5 b=10
| 运算符 | 说明 | 举例 |
|---|---|---|
| -eq | 检测两个数是否相等,相等返回 true。 | [ $a -eq $b ] 返回 false。 |
| -ne | 检测两个数是否不相等,不相等返回 true。 | [ $a -ne $b ] 返回 true。 |
| -gt | 检测左边的数是否大于右边的,如果是,则返回 true。 | [ $a -gt $b ] 返回 false。 |
| -lt | 检测左边的数是否小于右边的,如果是,则返回 true。 | [ $a -lt $b ] 返回 true。 |
| -ge | 检测左边的数是否大于等于右边的,如果是,则返回 true。 | [ $a -ge $b ] 返回 false。 |
| -le | 检测左边的数是否小于等于右边的,如果是,则返回 true。 | [ $a -le $b ] 返回 true。 |
示例:
#!/bin/bash#author:zrca=5b=10if [ $a -eq $b ];then echo " $a -eq $b : a 等于 b " else echo " $a -eq $b : a 不等于 b "fiif [ $a -ne $b ];then echo " $a -ne $b : a 不等于 b " else echo " $a -ne $b : a 等于 b "fi
布尔运算符
例:a=5 b=10
| 运算符 | 说明 | 举例 |
|---|---|---|
| ! | 非运算,表达式为 true 则返回 false,否则返回 true。 | [ ! false ] 返回 true。 |
| -o | 或运算,有一个表达式为 true 则返回 true。 | [ $a -lt 20 -o $b -gt 100 ] 返回 true。 |
| -a | 与运算,两个表达式都为 true 才返回 true。 | [ $a -lt 20 -a $b -gt 100 ] 返回 false。 |
逻辑运算符
注意使用逻辑运算符需要多重使用[]符号 例:a=5 b=10
true and flase 返回 false
true and false 返回 true
| 运算符 | 说明 | 举例 |
|---|---|---|
| && | 逻辑的 AND | [[ $a -lt 100 && $b -gt 100 ]] 返回 false |
| || | 逻辑的 OR | [[ $a -lt 100 || $b -gt 100 ]] 返回 true |
字符串运算符
下表列出了常用的字符串运算符,假定变量 a 为 "aaa",变量 b 为 "bbb":
| 运算符 | 说明 | 举例 |
|---|---|---|
| = | 检测两个字符串是否相等,相等返回 true。 | [ $a = $b ] 返回 false。 |
| != | 检测两个字符串是否相等,不相等返回 true。 | [ $a != $b ] 返回 true。 |
| -z | 检测字符串长度是否为0,为0返回 true。 | [ -z $a ] 返回 false。 |
| -n | 检测字符串长度是否为0,不为0返回 true。 | [ -n "$a" ] 返回 true。 |
| $ | 检测字符串是否为空,不为空返回 true。 | [ $a ] 返回 true。 |
示例:
#!/bin/bash#author:zrca="aaa"b="bbb"if [ $a = $b ];then echo " $a = $b : a 等于 b " else echo " $a = $b : a 不等于 b "fiif [ $a != $b ];then echo " $a != $b : a 不等于 b " else echo " $a != $b : a 等于 b "fiif [ -z $b ];then echo "-z $b : 字符长度为0 " else echo "-z $b : 字符长度为${#b} "fiif [ -n $b ];then echo "-z $b : 字符长度不为0 " else echo "-z $b : 字符长度为${#b} "fiif [ $b ];then echo "$b : 字符串不为空 " else echo "$b : 字符串为空 "fi文件运算符
| 操作符 | 说明 | 举例 |
|---|---|---|
| -b file | 检测文件是否是块设备文件,如果是,则返回 true。 | [ -b $file ] 返回 false。 |
| -c file | 检测文件是否是字符设备文件,如果是,则返回 true。 | [ -c $file ] 返回 false。 |
| -d file | 检测文件是否是目录,如果是,则返回 true。 | [ -d $file ] 返回 false。 |
| -f file | 检测文件是否是普通文件(既不是目录,也不是设备文件),如果是,则返回 true。 | [ -f $file ] 返回 true。 |
| -g file | 检测文件是否设置了 SGID 位,如果是,则返回 true。 | [ -g $file ] 返回 false。 |
| -k file | 检测文件是否设置了粘着位(Sticky Bit),如果是,则返回 true。 | [ -k $file ] 返回 false。 |
| -p file | 检测文件是否是有名管道,如果是,则返回 true。 | [ -p $file ] 返回 false。 |
| -u file | 检测文件是否设置了 SUID 位,如果是,则返回 true。 | [ -u $file ] 返回 false。 |
| -r file | 检测文件是否可读,如果是,则返回 true。 | [ -r $file ] 返回 true。 |
| -w file | 检测文件是否可写,如果是,则返回 true。 | [ -w $file ] 返回 true。 |
| -x file | 检测文件是否可执行,如果是,则返回 true。 | [ -x $file ] 返回 true。 |
| -s file | 检测文件是否为空(文件大小是否大于0),不为空返回 true。 | [ -s $file ] 返回 true。 |
| -e file | 检测文件(包括目录)是否存在,如果是,则返回 true。 | [ -e $file ] 返回 true。 |
感谢各位的阅读!关于"Shell中运算符有哪些"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
检测
文件
运算
字符
运算符
字符串
两个
长度
右边
逻辑
变量
数字
目录
示例
表达式
设备
算符
中运
相同
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全护卫队面试
dnf正在登陆服务器没反应了
i春秋网络安全分享
连不上产品服务器怎么办
数据库的事务处理
关于开展网络安全的总结
揭阳自主可控软件开发维修电话
小宝机器人连接不上服务器
湖南app软件开发公司
软件开发技术属于什么条件
数据库服务器上如何删除进程
网络安全议论文范文
小学网络安全实施工作小结
职中正雄5g网络技术
西城区制造软件开发价位
经侦防控网络安全
服务器算什么产品
华为服务器sn号
iphone软件开发团队工具
档案 单位图像数据库
数据库技术三级考试 视频
沈阳软件开发公司名录
软件开发项目验收职责划分
怎么进入云课堂服务器
安仁计算机软件开发培训多少钱
欧盟制裁网络安全
新泰市亮点网络技术有限公司
网络安全法规定的答题
侯亮网络安全
豆瓣 标签 数据库