Shell脚本中的变量
Shell脚本中的变量
变量
定义:在程序运行过程中可以改变的量
shell脚本中,变量有两种,一种是用户自定义变量,另外一种是系统默认变量(path)
变量的格式 变量名=变量值
your_name ="zhangsan"
注意:变量名和等号之间不能有空格
变量名的命名必须遵循以下规则:
①首个字符必须为字母(a-z或者A-Z)
②中间不能有空格,可以使用下划线(_)
③不能使用标点符号
④不能使用bash里面的关键字(比如Linux系统中的命令cp,ls,rm,mv等)
用户自定义变量
在shell编程中,所有的变量都由字符串组成,并且不需要事先声明变量的类型,它支持的唯一类型的变量就是字符串。
使用一个定义过的变量,只需要在变量名前面加美元符号$即可。
例如:
输出变量结果的时候有两种:
第一种是echo $变量名
第二种是echo ${变量名}
注意:变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解析器识别变量名的边界
如果输出语句是echo "this is $your_nameFeng",结果是什么呢?
结果成了this is,为什么呢?
因为咱们的只赋值了yaor_name=zhangshan的变量,并没有给yaor_nameFeng赋值呀!
那么,我们修改以下看看,修改为echo "this is ${your_name}Feng"
现在的结果是
所以,这个时候就必须得使用{}了
readonly 只读变量
使用readonly命令可以将变量定义为只读变量,只读变量不能被改变
格式 readonly 变量名
因为是只读变量,所以即使重新给这个变量赋值也是无效的
unset 删除变量
格式 unset 变量名
注意:变量被删除后不能再次使用,unset命令不能删除只读变量
我们试试看看能不能删除只读变量