概述
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 基本运算符所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复