在本章中,我们将学习如何在Unix中使用Shell变量,变量不过是指向实际数据的指针, Shell使您可以创建,分配和删除变量。
变量名
变量名称只能包含字母(a到z或A到Z),数字(0到9)或下划线字符(_),按照约定,Unix shell变量将以大写字母命名。
以下示例是有效的变量名-
_ALI TOKEN_A VAR_1 VAR_2
以下是无效变量名称的示例-
2_VAR -VARIABLE VAR1-VAR2 VAR_A!
您不能使用诸如!、 * 或-之类的其他字符的原因是,这些字符对shell具有特殊的含义。
定义变量
变量定义如下-
variable_name=variable_value
如-
NAME="LEARNFK"
上面的示例定义了变量NAME,并为其分配了值" LEARNFK"。如-
VAR1="LEARNFK" VAR2=100
访问变量值
要访问存储在变量中的值,请在其名称前加上 美元符号( $)-
如,以下脚本将访问已定义变量NAME的值并将其打印在STDOUT上-
#!/bin/sh NAME="LEANRFK" echo $NAME
上面的脚本将产生以下值-
只读变量
Shell提供了一种使用只读命令将变量标签为只读的方法,将变量标签为只读后,其值将无法更改。
如,以下脚本在尝试更改NAME的值时生成错误-
#!/bin/sh NAME="LEARNFK" readonly NAME NAME="learnfk"
上面的脚本将产生以下输出-
/bin/sh: NAME: This variable is read only.
删除变量
删除变量将指示Shell程序从其跟踪的变量列表中删除该变量,取消设置变量后,将无法访问该变量中的存储值。
以下是使用 unset 命令取消定义的变量的语法-
unset variable_name
上面的命令取消设置已定义变量的值。这是一个简单的示例,演示命令如何工作-
#!/bin/sh NAME="LEARNFK" unset NAME echo $NAME
上面的示例不打印任何内容,您不能使用unset命令来取消设置标签为只读的变量。
变量类型
当Shell运行时,存在三种主要类型的变量-
Local Variables - 局部变量是存在于Shell程序当前中的变量。
Environment Variables - 环境变量可用于Shell程序的任何子进程。
Shell Variables - Shell变量是设置的特殊变量,Shell要求变量才能正常运行。
参考链接
https://www.learnfk.com/linux/linux-using-variables.html
标签:教程,Shell,NAME,示例,只读,无涯,Linux,LEARNFK,变量 From: https://blog.51cto.com/u_14033984/8570273