我是靠谱客的博主 结实招牌,最近开发中收集的这篇文章主要介绍Shell自我学习——运算符Shell 基本运算符,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

FALTRUESE]

Shell 基本运算符

Shell中间的数学运算,常用的命令是awk、expr,具体用法如下:

awk 'BEGIN {a=2;b=3;print "(a+b)=",a+b}'     # 输出 (a+b)=5
var=` expr 2+3`                # `是反引号,不是单引号
echo $var                      # 输出 5

算数运算符

运算符说明
+加法,expr $a + $b
-减法,expr $a - $b
*乘法,expr $a * $b
/除法,expr $a / $b
%求余,expr $a % $b
==相等,[ $a == $b]
!=不等,[$a != $b]

关系运算符

运算符说明
-eq检测两个数是否相等,相等返回TRUE, [$a -eq $b]
-ne检测两个数是否不等,不等返回TRUE, [$a -nq $b]
-gt检测左边的数是否大于右边的,大于返回TRUE, [$a -eq $b]
-lt检测左边的数是否小于右边的,小于返回TRUE, [$a -eq $b]
-ge检测左边的数是否大于等于右边的,大于等于返回TRUE, [$a -ge $b]
-le检测左边的数是否小于等于右边的,小于等于返回TRUE,[$a -le $b]

注意:关系运算符只支持数字,不支持字符串,除非字符串的值是数字。

布尔运算符

a=1,b=1

运算符说明
!非运算,表达式为TRUE,则返回FALSE,否则返回TRUE, [!FALSE],返回TRUE
-o或运算,有一个表达式为TRUE,则TRUE, [$a -gt 1 -o $b -lt 2]
-a与运算,有两个表达式为TRUE,则返回TRUE, [$a -gt 1 -o $b -lt 8]

逻辑运算符

a=10,b=80

运算符说明
&&逻辑的AND,[[ $a -lt 100 && $b -gt 100 ]],返回FALSE
||逻辑的OR,[[ $a -lt 8 && $b -gt 10 ]],返回TRUE

字符串运算符

运算符说明
=检测两个字符串是否相等,相等返回TRUE,[ $str1 = $str2 ]
!=检测两个字符串是否不等,不等返回TRUE,[ $str1 != $str2 ]
-z检测字符串长度是否为0,为0返回TRUE,[ -z $str1 ]
-n检测字符串长度是否为0,不为0返回TRUE,[ -n $str2 ]
str检测字符串是否为空,不为空返回TRUE,[ $str1 ]

文件测试运算符

运算符说明
-b检测文件是否是块设备文件,如果是返回TRUE,[ -b $file ]
-c检测文件是否是字符设备文件,如果是返回TRUE,[ -c $file ]
-d检测文件是否是目录,如果是返回TRUE,[ -d $file ]
-f检测文件是否是普通文件(既不是目录,也不是设备文件),如果是返回TRUE,[ -f $file ]
-g检测文件是否设置了SGID位,如果是返回TRUE,[-g $file ]
-k检测文件是否设置了粘着位(Sticky Bit),如果是返回TRUE,[ -k $file ]
-p检测文件是否具名管道,如果是返回TRUE,[ -p $file ]
-u检测文件是否设置了SUID位,如果是返回TRUE,[ -u $file ]
-r检测文件是否可读,如果是返回TRUE,[ -r $file ]
-w检测文件是否可写,如果是返回TRUE,[ -w $file ]
-x检测文件是否可执行,如果是返回TRUE,[ -x $file]
-s检测文件是否为空,如果是返回TRUE,[ -s $file ]
-e检测文件(包括目录)是否存在,如果是返回TRUE,[ -e $file ]

最后

以上就是结实招牌为你收集整理的Shell自我学习——运算符Shell 基本运算符的全部内容,希望文章能够帮你解决Shell自我学习——运算符Shell 基本运算符所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部