shell 变量 全局变量

变量类型


变量可分为两类:环境变量(全局变量,用到的是比较少的)和局部变量。

环境变量也可称为全局变量,是系统预先定义好的,可以在创建它们的 shell 及其派生出来的任意子进程 shell 中使用。

比如:

[root@node1 ~]# echo $USER
root

局部变量只能在创建它们的 shell 函数或脚本中使用。

还有一些变量是用户创建的,其它的则是专用 shell 变量。

环境变量(全局变量)


环境变量用于定义 Shell 的运行环境,保证 Shell 命令的正确执行,Shell通过环境变量来确定登陆用户名、命令路径、终端类型、登陆目录等,所有的环境变量都是系统全局变量,可用于所有子进程,这包括编辑器、Shell 脚本和各类应用。


环境变量可以在命令行中设置,但用户退出时这些变量值也会丢失,因此最好在用户家目录下的 .bash_profile 文 件 中 或 全 局 配 置 /etc/bashrc ,/etc/profile 文件或者/etc/profile.d/中定义。将环境变量放入 profile 文件中,每次用户登录时这些变量值都将被初始化。

[root@node1 ~]# vim /etc/profile
export name=hhhh
[root@node1 ~]# source /etc/profile
[root@node1 ~]# echo $name
hhhh

传统上,所有环境变量均为大写。环境变量应用于用户进程前,必须用export 命令导出。
环境变量可用在创建他们的shell和从该shell派生的任意子shell或进程中。他们通常被称为全局变量以区别局部变量。通常,环境变量应该大写。环境变量是已经用 export 内置命令导出的变量。

有一些环境变量,比如 HOME、PATH、SHELL、UID、USER 等,在用户登陆之前就已经被/bin/login 程序设置好了。通常环境变量定位保持在用户家目录下的.bash_profile 文件中。具体的环境变量说明请参考下表: 

 环境变量启动过程:

おすすめ

転載: blog.csdn.net/qq_34556414/article/details/121510865