一、变量的替换:不用带$的情况
1.变量申明或者赋值
2.unset
3.export
4.((......)) 内
5.在特殊情况的, 一个变量代表一个信号
6.Assignment may be with an = (as in var1=27)
7.in a read statement
8.at the head of a loop (for var2 in 1 2 3).
二、一个没有赋值的变量是 "null" 值 ,不是"0"
三、变量的赋值
vara=abc
varb=`ls -l`
varc=123
vard=$(ls -l)
四、变量类型:字符,数字,数组
declare -i a=2334 # a 是一个数字,如果 a上这条语句之前就存在,则这个声明语句无效。
let "a += 1"
b=${a/23/BB} # Substitute "BB" for "23". 注意这里面有正则替换
c="ccc"
let "c += 1" # 结果为1, 字符串在运算中会转成数字0.
五、位置参数
六、shift