什么是变量?
变量是计算机内存的单元,其中存放的值可以改变。当shell脚本需要保持一些信息时,如一个文件名或是一个数字,就把它存放在一个变量中。每个变量都有自身的名字,可以很方便的引用它。使用变量可以保存有用信息,使系统获知用户相关设置,变量也可用于保存暂时信息。
变量设置的规则:
1、变量名称可以由字母、数字和下划线组成,但不能以数字开头。
2、在bash shell中,变量的默认类型都是字符串类型,如果需要进行数值运算,则必须指定变量类型为数值型。
3、变量用等号连接值,等号两侧不能有空格。
4、变量的值如果有空格,需要使用单引号或者双引号包含。参考《通配符与其他特殊符号》
5、在变量的值中,可以使用 \ 转义符
6、如果需要增加变量的值,可以进行变量值的叠加。需使用用双引号包含 "$变量名" 或者 $ 包含。
7、如果是把命令的结果作为变量值赋予变量,则需要使用$( ) 包含命令,如time=$(date);echo $time
8、环境变量名建议大写,便于区分。
变量的分类:
用户自定义变量(也称本地变量):最常用变量。特点是变量名、变量值、变量类型都可以自由定义。
环境变量:主要保存的是和系统操作环境相关的数据。默认环境变量的名称不能更改,但可修改其值。除了这些,用户也可以自定义添加属于自己的环境变量。
位置参数变量:主要用来向脚本当中传递参数或数据,变量名不能自定义,变量作用是固定的,只能修改其变量的值。严格意义上属于预定义变量的一种。
预定义变量:bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的,只能修改其变量的值。
用户自定义变量(本地变量):
timedate="2018 10 04" #定义变量名
echo $timedate #使用$调用变量,输出结果
timedate="$timedate"11:00 #变量值的叠加
echo $timedate #输出结果
echo "$(date)"中国上海 #系统命令的结果也可以叠加
示例如下图:
set #set命令查看系统当中所有的变量。
unset 变量名 #删除变量,删除自己的创建的变量;unset timedate
领取专属 10元无门槛券
私享最新 技术干货