引用:
双引号:弱引用,会发生参数扩展
单引号:强引用,不会发生参数扩展,不可嵌套
花括号扩展不能被引用
命令执行前会删除引用
命令替换(``,$())
即执行的优先顺序
命令替换可以嵌套
反引号,` `,1左边的符号
var01=echo $sxt 会报错,bash会将var01=echo解析成变量赋值,$sxt解析成变量值,而变量值不是命令
var01=`echo $sxt` 会先执行反引号内的命令,然后执行赋值
$()
var02=$(echo $sxt)
命令状态和逻辑运算符
echo $? 上一个命令的执行情况,成为为0,失败为其他数
&&
ls -l /god && echo ok 当&&两边都为真时,才执行两边命令,该情况为假,不执行
||
ls -l /god || echo ok 一方为真则执行,若第一个为真,则整个条件为真,不会执行
第二个条件
算数表达式(()) help let 详解
((a+b)) 表示a+b
((a++)) 表示自增
取值
$((a+b))
$((a++))
条件表达式(test、[ ]) help test 详解
test和[ ]功能相同
-eq 等于号
-ne 不等号
-gt /-ge 大于号
-lt/-le 小于号
test
test 3 -gt 8 测试3大于8
echo $? 结果为非0,表示上一条命令结果为假
test 3 -gt 2 && echo ok 会打印ok
[ ]
[ ]为内部命令,命令之后接空白
[ 3 -gt 2 ] && echo ok 会打印2