操作符

基本和高级条件表达式操作符

符号作用
{}代码块,不创建新的子 shell,用于组织一系列的命令
()创建一个子 shell,并在其中执行命令
[[]]执行高级条件表达式,支持模式匹配、正则表达式等
$用于变量引用、命令替换、算术运算等
|管道运算符,将一个命令的输出作为另一个命令的输入
!逻辑非运算符,用于否定一个条件表达式的结果
&&逻辑与运算符,如果左边的命令/条件表达式返回真(成功),则执行右边的命令
||逻辑或运算符,如果左边的命令/条件表达式返回假(失败),则执行右边的命令

特殊

符号作用
|在正则中表示或
!在引用中表示间距引用
#在数组中表示长度

条件操作符

操作符描述
=字符串比较(相等)
!=字符串比较(不等)
-lt数值比较(小于)
-gt数值比较(大于)
-le数值比较(小于等于)
-ge数值比较(大于等于)
-eq数值比较(等于)
-ne数值比较(不等于)
=~正则表达式匹配
-z字符串为空
-n字符串不为空
:=在参数扩展中使 ​ 用,用于在变量未设置或为空时赋予一个默认值

逻辑操作符详解

操作符描述
&&逻辑与(AND)
||逻辑或(OR)
!逻辑非(NOT)

算术操作符详解

操作符描述
+加法
-减法
*乘法
/除法
%取模
**幂运算

文件测试操作符

操作符描述示例
-f文件存在且为普通文件if [[ -f $file ]]
-d目录存在if [[ -d $directory ]]
-e文件存在if [[ -e $filepath ]]
-r文件存在且可读if [[ -r $file ]]
-w文件存在且可写if [[ -w $file ]]
-x文件存在且可执行if [[ -x $file ]]
-s文件存在且非空if [[ -s $file ]]