shell运算符
shell运算符主要有:比较运算符(用于整数比较)、字符串运算符(用于字符串测试)、文件操作运算符(用于文件测试)、算术运算符、逻辑运算符、位运算符、自增自减运算符等。
测试结构:
方法一: test expression
方法二:[ expression ] (注意:中括号左右的空格)
一、整数比较
整数测试符:
-eq等于
-gt大于
-lt小于
-ge大于等于
-le小于等于
-ne不等于
二、字符串测试
字符串测试符:
-z "string"为空返回真,否则为假
-n "string"非空返回真,否则为假
"string1" = "string2"相同返回真,否则为假
"string1" != "string2"不相同返回真,否则为假
"string1" > "string2"按字典排序,string1在string2之前,返回真,否则为假
"string1" < "string2"按字典排序,string1在string2之后,返回真,否则为假
注意:[ "str1" \> "str2 ] (需要进行转义)
[["str1" \> "str2 ]] (不需要进行转义)
三、文件测试
文件测试符:
-b FILE块文件返回真
-c FILE字符设备文件返回真
-d FILE目录文件返回真
-e FILE存在返回真
-f FILE普通文件返回真
-x FILE可执行文件返回真
-w FILE可写返回真
-r FILE可读返回真
-l FILE链接文件返回真
-p FILE管道文件返回真
-s FILE文件大小不为0返回真
-S FILEsocket文件返回真
-g FILE文件设置了SGID时返回真
-u FILE文件设置了SUID时返回真
-k FILE文件设置了sticky属性时返回真
-G FILE文件属于有效的用户组时返回真
-O FILE文件属于有效的用户时返回真
FILE1 -nt FILE2FILE1比FILE2新时返回真
FILE1 -ot FILE2FILE1比FILE2旧时返回真
四、算术运算符(结合shell内建命令let使用)
常规算术运算符
+、-、*、/、%、**
复合算术运算符
+=、-=、*=、/=、%=
其它算数运算符
1)$[]和$(( ))
2)expr命令
高精度计算(bc命令)
eg. bc <<< "scale=2;111/222;"
echo "scale=2;111/222;" | bc
五、逻辑运算
逻辑测试符:
!expression逻辑非
expression1 -a expression2逻辑与,同时为真,测试结果为真
expression1 -o expression2逻辑或,只要有一个为真,测试结果为真
逻辑运算符:
! 逻辑非
&&逻辑与
||逻辑或
六、位运算
<<左移运算
>>右移运算
& 按位与运算
| 按位或运算
^ 按位异或运算
~ 按位非运算
七、自增自减
++自增
--自减
注意:操作对象只能是变量,不能是常数或表达式
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。