shell运算符
2017-03-01 15:49
148 查看
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 FILE socket文件返回真
-g FILE 文件设置了SGID时返回真
-u FILE 文件设置了SUID时返回真
-k FILE 文件设置了sticky属性时返回真
-G FILE 文件属于有效的用户组时返回真
-O FILE 文件属于有效的用户时返回真
FILE1 -nt FILE2 FILE1比FILE2新时返回真
FILE1 -ot FILE2 FILE1比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 逻辑或,只要有一个为真,测试结果为真
逻辑运算符:
! 逻辑非
&& 逻辑与
|| 逻辑或
六、位运算
<< 左移运算
>> 右移运算
& 按位与运算
| 按位或运算
^ 按位异或运算
~ 按位非运算
七、自增自减
++ 自增
-- 自减
注意:操作对象只能是变量,不能是常数或表达式
测试结构:
方法一: 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 FILE socket文件返回真
-g FILE 文件设置了SGID时返回真
-u FILE 文件设置了SUID时返回真
-k FILE 文件设置了sticky属性时返回真
-G FILE 文件属于有效的用户组时返回真
-O FILE 文件属于有效的用户时返回真
FILE1 -nt FILE2 FILE1比FILE2新时返回真
FILE1 -ot FILE2 FILE1比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 逻辑或,只要有一个为真,测试结果为真
逻辑运算符:
! 逻辑非
&& 逻辑与
|| 逻辑或
六、位运算
<< 左移运算
>> 右移运算
& 按位与运算
| 按位或运算
^ 按位异或运算
~ 按位非运算
七、自增自减
++ 自增
-- 自减
注意:操作对象只能是变量,不能是常数或表达式
相关文章推荐
- Shell 基本运算符
- Shell运算符
- Shell入门(二)之Shell运算符
- shell的expr运算符的使用
- shell学习笔记(二)shell变量与运算符
- shell运算符
- shell中的变量及运算符
- linux下shell中(())双括号运算符的使用详解
- shell学习-6-运算符
- shell运算符
- shell编程实例三实现简单运算符
- shell 运算符全攻略
- Shell学习总结之逻辑运算符及表达式
- Shell基础编程 变量和运算符
- Shell - 文件运算符
- shell-code-4-运算符
- shell运算符
- Shell运算符:Shell算数运算符、关系运算符、布尔运算符、字符串运算符等
- 【shell】shell编程(二)-运算符
- shell额外的重定向运算符