Shell脚本中的变量

                                          Shell脚本中的变量

 

变量

定义:在程序运行过程中可以改变的量

shell脚本中,变量有两种,一种是用户自定义变量,另外一种是系统默认变量(path)

变量的格式      变量名=变量值

your_name ="zhangsan"

注意:变量名和等号之间不能有空格

变量名的命名必须遵循以下规则

①首个字符必须为字母(a-z或者A-Z)

②中间不能有空格,可以使用下划线(_)

③不能使用标点符号

④不能使用bash里面的关键字(比如Linux系统中的命令cp,ls,rm,mv等)

用户自定义变量

在shell编程中,所有的变量都由字符串组成,并且不需要事先声明变量的类型,它支持的唯一类型的变量就是字符串。

使用一个定义过的变量,只需要在变量名前面加美元符号$即可。

例如:

Shell脚本中的变量

Shell脚本中的变量

输出变量结果的时候有两种:

第一种是echo  $变量名

第二种是echo  ${变量名}

注意:变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解析器识别变量名的边界

Shell脚本中的变量

如果输出语句是echo "this is $your_nameFeng",结果是什么呢?

Shell脚本中的变量

Shell脚本中的变量

结果成了this is,为什么呢?

Shell脚本中的变量

因为咱们的只赋值了yaor_name=zhangshan的变量,并没有给yaor_nameFeng赋值呀!

那么,我们修改以下看看,修改为echo "this is ${your_name}Feng"

Shell脚本中的变量

现在的结果是Shell脚本中的变量

所以,这个时候就必须得使用{}了

readonly     只读变量

使用readonly命令可以将变量定义为只读变量,只读变量不能被改变

格式         readonly 变量名

Shell脚本中的变量

Shell脚本中的变量

Shell脚本中的变量

因为是只读变量,所以即使重新给这个变量赋值也是无效的

unset    删除变量  

格式    unset  变量名

注意:变量被删除后不能再次使用,unset命令不能删除只读变量

Shell脚本中的变量

我们试试看看能不能删除只读变量

Shell脚本中的变量

Shell脚本中的变量

Shell脚本中的变量