变量赋值的方式为:变量名称=值,其中=两边不要有任何空格。当想使用变量名称获得值时,在名称前加上$。当赋值的内容包含空格时请加“”,$ with_space=“this contain space.”,$ with_space事实上是${ with_space}的简写形式。变量可以使用=比如var=27,也可以在read命令或者循环头进行赋值,例如,for var2 in 1 2 3。被一对双引号“”括起来的变量替换是不会被阻止的,所以双引号被称为部分引用或弱引用。但是如果使用单引号''的话,那么变量替换就被禁止了。变量名只会被解释成字面的意思,所以单引号被称为全引用或强引用。例如var=123, echo '$ var' 输出$var, echo "$var"输出123。在shell的世界里,变量值可以是空值NULL,在算术操作里未初始化的变量常常看起来是0,echo “$ uninit”,没有输出。let “uninit+5”, echo "$uninit"输出5。linux shell 变量类型分为局部变量和全局变量,局部变量必须明确以local声明,否则即使在代码块中它也是全局可见的。环境变量是全局变量的一种,全局变量在全局范围可见,声明全局变量不需要加任何修饰符。
图片来源于网络