Shell 变量作用域

Shell变量根据作用域分为3种:

1)局部变量

2)用户变量

3)全局变量

1 局部变量

在我们的Shell文件定义的变量为局部变量,仅在当前Shell有效。

重新打开一个连接,即使相同用户,也会无效。


2 用户变量

用户变量的配置方法

配置在用户的.bash_profile文件。

root用户的文件路径: /root/.bash_profile

其它用户的文件路径:/home/用户名/.bash_profile

用户变量的作用域

指定用户的所有连接都可以访问;其它用户不能访问。

示例

vim /root/.bash_profile

最后追加

rootVar1="xiaobuteach.com"
export rootVar

变量赋值后需要通过export导出,否则无效。

img

使修改立刻生效。

source /root/.bash_profile

终端直接访问

img

.sh文件中当然也能访问。

用另外一个用户重新连接,输出为空,无法访问。


3 全局变量

全局变量的配置方法

配置在/etc/profile 文件。

全局变量的作用域

所有用户的所有连接都可以访问。

示例

vim /etc/profile

最后追加

globalVar1="xiaobuteach.com"
export globalVar

变量赋值后需要通过export导出,否则无效。

使修改立刻生效。

source /etc/profile

终端直接访问

img