📙
📙
📙
📙
Shell
搜索文档…
📙
📙
📙
📙
Shell
简介
变量
字符串
数组
外部参数
基本运算符
流程控制
函数
输入/输出重定向
文件引用
由
GitBook
提供支持
变量
定义变量
定义变量时,直接使用
<变量名>=<变量值>
就直接声明了一个变量
name="name"
变量名和等号之间不能有空格,否则bash会认为变量名是一个命令
变量的命名遵守以下规范
命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
中间不能有空格,可以使用下划线(_)。
不能使用标点符号。
不能使用bash里的关键字。
除了显式地直接赋值,还可以用命令语句给变量赋值,如:
name=`uname -a`
或
name=$(uname -a)
使用变量
使用一个定义过的变量,只要在变量名前面加美元符号即可,如:
name="name"
echo $name
echo ${name}
也可以直接在字符串中引用变量
name=`uname -a`
echo "This is uname:${name}"
在字符串中引用时,建议加上
{}
目的是为了区分变量名的边界,例如:
echo "This is uname:$nameResult"
此时会认为 nameResult 是一个完整的变量名,导致结果错误
只读变量
使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。
name="name"
readonly name
此时再次给name赋值,会有错误提示,当一个变量设置readonly后,无法恢复为可写状态,确保变量使用情况下,再使用此设置
删除变量
使用 unset 命令可以删除变量。语法:
unset name
变量被删除后不能再次使用。unset 命令不能删除只读变量。
删除后,如果想继续使用变量,重新给变量赋值就可以。
变量命名空间
局部变量
局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
环境变量
所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
shell变量
shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行
以前
简介
下一个
字符串
最近更新
1yr ago
复制链接
大纲
定义变量
使用变量
只读变量
删除变量
变量命名空间