Skip to content

变量

学习变量的定义和使用

定义

变量分3种类型:

  • 局部变量:局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量
  • 环境变量:所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量
  • shell变量:是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

变量定义规则如下:

  • 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头
  • 中间不能有空格,可以使用下划线(_
  • 不能使用标点符号
  • 不能使用bash里的关键字(可用help命令查看保留关键字)

使用

注意:变量赋值时不能和等号有空格

VAR=adfadfa

在变量名前添加美元符号($)即可,变量名外的花括号({})可选(推荐使用,更具标识度)

$VAR
${VAR}

只读变量

使用readonly关键字声明变量,可将变量设置为为只读变量

# 方式一
VAR=...
readonly VAR
# 方式二
readonly VAR=...

重置变量

使用关键字unset重置变量为空。注意:unset命令不能操作只读变量

$ cat test.sh 
#!/bin/bash

VAR1="asdfasfa"
readonly VAR2="asdf asdf as"

unset VAR1
unset VAR2

echo $VAR1
echo $VAR2

VAR1重置后输出为空

$ bash test.sh 
test.sh: line 7: unset: VAR2: cannot unset: readonly variable

asdf asdf as

相关阅读