bash变量和参数介绍
概述
- 变量可以让程序和脚本语言用来描述数据。一个变量仅仅是一个标签而已,被指定到计算机内存中存储着数据的某个位置或某些位置的标签。变量一般出现在算术运算操作和数量操纵及字符串解析中。
4.1. 变量替换(Variable Substitution)
- 变量的名称是其值的占位符,代表它所包含的数据。引用(检索)它的值称为变量替换。
- 举个例子来仔细区别一个变量名和其存储的值。例如:如果val1是某个变量的名称,那么使用$val1来引用该变量,即是其存储的数据。
[root@centos8 ~]val1=hello
[root@centos8 ~]echo $val1
hello
[root@centos8 ~]echo val1
val1
| (引用)变量不出现$前缀的情况 |
|---|
| declared or assigned:声明其或者其被赋值1 |
| let 算术语句 |
| 被unset或者export |
| 在双圆括号((...))的算术运算操作结构中 |
| 变量代表某个信号的特殊情况2 |
[root@centos7 /data/scripts]$ m=3
[root@centos7 /data/scripts]$ n=5
[root@centos7 /data/scripts]$ let k=m+n
[root@centos7 /data/scripts]$ echo $k
8
- 将引用值包括在两个双引号("val")中不会影响其对变量值的引用(变量替换)。该引用方法称作"部分引用",或者叫做"弱引用"。但是使用两个单引号(′val')则会使变量替换失效,shell按照变量名的字面意思处理其。该引用方式称为"全引用",也叫作"强引用"。第五章详细介绍。
- 需要注意的是:val实际上是{val}的简写。某些场合前者val会出错,使用长格式的后者兼容性更好。