算数运算
-- + - * / %
使用:$((expression)) $((a+b))
$[expresion] $[a+b]
expr expresion expr 5 + 2 expr $a + $b 符号和数字之间要空格隔开
shell内置 测试判断(测试表达式) 成功/成立 失败/不成立 经常与if联合使用
-- test 测试表达式 (1) test $a -lt $b (2)echo $? 返回0 表示(1)判断成功 非零表示失败
-- [ 测试表达式 ] 测试表达式左右要有空格 (1) [ $a -lt $b ] (2)echo $?
数字测试
-eq 等于则为真
-nq 不等于则为真
-gt 大于则为真
-ge 大于等于则为真
-lt 小于则为真
-le 小于等于则为真
字符串测试
= 等于则为真
!= 不等于则为真
-z 字串长度为0
-n 字串长度不为0
文件测试
-e 文件名 如果文件存在 为真
-r 文件名 如果文件存在且可读 为真
-w 文件名 如果文件存在且可写则为真
-x 文件名 如果文件存在且可执行则为真
-s 文件名 如果文件存在 且至少有一个字符 则为真
-d 文件名 如果文件存在 且为目录则为真
-f 文件名 如果文件存在 且为普通文件则为真
-c 文件名 如果文件存在且为字符型特殊文件则为真
-c 文件名 如果文件存在 且为块儿特殊文件则为真
Linux还提供 ! -o -a 三个逻辑运算符 用于将测试条件连接起来 其优先顺序为 !最高 -a次之 -o最低
逻辑与 &&
-- 命令1 && 命令2 只有命令1执行成功之后才会执行命令2 什么是执行成功呢 $? 返回0 就是成功了
逻辑或 ||
-- 命令1 || 命令2 只有命令1执行失败时 才执行命令2
无逻辑关系 ;
-- 命令1 ; 命令2 就按照顺序执行 不管命令1失败与否