Shell运算符详解

Linux

Linux Shell提供大量的基本运算操作,包括算术运算符、比较运算符、逻辑运算符、字符串判断运算符和文件测试运算符,通过这些Shell运算符可以用来基本算术计算,逻辑判断。下面PHP程序员雷雪松就详细的讲解下5种最基础的Shell运算符。

1、算术运算符
+ 加法
– 减法
* 乘法
/ 除法
% 取余
= 赋值 a=$b 将把变量b的值赋给 a。
== 相等。用于比较两个数字,相同则返回true。
!= 不相等。用于比较两个数字,不相同则返回true。

2、比较运算符
-eq 检测两个数是否相等,相等返回true。
-ne 检测两个数是否相等,不相等返回true。
-gt 检测左边的数是否大于右边的,如果是,则返回true。
-lt 检测左边的数是否小于右边的,如果是,则返回true。
-ge 检测左边的数是否大等于右边的,如果是,则返回true。
-le 检测左边的数是否小于等于右边的,如果是,则返回true。

3、逻辑运算符
! 非运算,表达式为true 则返回 false,否则返回true。
-o 或运算,有一个表达式为true,则返回true。
-a 与运算,两个表达式都为true,则返回true。

4、字符串判断运算符
= 检测两个字符串是否相等,相等返回true。
!= 检测两个字符串是否相等,不相等返回true。
-z 检测字符串长度是否为0,为0返回true。
-n 检测字符串长度是否为0,不为0返回true。
str 检测字符串是否为空,不为空返回true。

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

来源:Shell运算符详解

发表评论

电子邮件地址不会被公开。 必填项已用*标注