Quantcast
Channel: CodeSection,代码区,Linux操作系统:Ubuntu_Centos_Debian - CodeSec
Viewing all articles
Browse latest Browse all 11063

Shell运算符详解

$
0
0

分类:linux 时间: 2015年10月30日

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。

Viewing all articles
Browse latest Browse all 11063

Trending Articles