一、Shell中的变量
注:这里所说的Shell是Bash Shell,我姑且统称为Shell。
Shell中的变量分为用户自定义变量、环境变量、位置参数变量、预定义变量。在Shell中,变量的默认类型都是字符串型的,如果要进行数值运算,则必须指定变量类型为数值型。
(1)一些注意事项
变量命名可以由字母、下划线和数字组成,但不能以数字开头,变量名严格区分大小写。
变量用等号(=)赋值,等号左右两侧不能有空格。
变量的值如果有空格,需要使用单引号或双引号包括。可以在变量值中使用转义符""。
如果需要增加变量的值,那么可以进行变量值的叠加。此时需要用双引号,即"$变量名"或用${变量名}的方式使用。
如果是把命令的结果作为变量值赋予变量,则需要使用反引号或$()包含命令。如果使用变量进行数学运算,则可以使用expr命令或$[]将数学表达式包含起来。
环境变量名建议大写,便于区分。
(2)名词解释
用户自定义变量:顾名思义,就是用户自己定义的变量。
环境变量:用来存储有关shell会话和工作环境或操作系统环境的信息。环境变量的这项特性允许你在内存中存储数据,以便程序或shell中运行的脚本能够轻松访问到它们,一次定义,任何shell脚本都可以访问。环境变量有分为两类,全局环境变量和局部环境变量。全局环境变量对于当前shell和其所有生成的子shell都是可见的。局部环境变量则只对创建它们shell可见。
位置参数变量:顾名思义,这种变量根传递参数的位置有关。变量名不能自定义。
预定义变量:是shell已经定义好的变量,变量名不能自定义,变量的作用都是不变的。