算数运算

--  +  -  * /   %

使用:$((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失败与否