Shell编程中的环境变量

1.定义

环境变量也成为全局变量,可以在创建他们的shell以及其派生出来的任意子进程shell中使用,环境变量又可以分为自定义环境变量和bash内置环境变量,环境变量可以在命令行中这只和创建,但是用户退出命令行时这些变量值就会丢失,想要永久保存,要写在文件中。

2.全局文件和用户文件

1.全局文件为:

/etc/profile   对所有用户有效

2.用户文件为:

/.bash_profile   仅对指定用户有效

想要列出系统中所有环境变量,可以使用env命令。

3.临时设定环境变量的方法

1.

2.

3.

4.永久设定环境变量

5.用户环境变量设定

用户环境变量
[root@server1 mnt]# Is /root/.bashrc
/root/.bashrc
[root@server1 mnt]# Is /root/.bash profile
/root/.bash profile
说明:对于用户的环境变设,常见的是用户家目录下的.bashrc和.bash_ profile

6.全局环境变量设定

全局环境变的配置
常见的全局环境变量配量文件,
/etc/profile;/etc/bashrc;/etc/profile.d这三个配置文件,如果想要在登陆后初始化或者显示加载的内容,只需要把脚本文件放在/etc/profile.d文件下即可(不需要加执行权限)

7.查看环境变量

查/取消环境变量
我们通常在工作中要查看1-下环境变中都配了什么,需要做什么更改,所以我们就有了ehco或printf命令来打印查看环境变量。
$HOME:用户登录时进入的目录
$UID:当前用户的uid (也就是用户的标识,相当于人的身份证)相当于id -u

环境变量初始化和对应文件的生效顺序:

用户登录系统后首先会加载/etc/prorfile全局环境变量,加载完后,执行/etc/profile.d 目录下的脚本文件(如:系统的字符集设量t/etc/sysconfigil8n ) ,

然后在运行$HOME/.bash profile (用户环境变文件),在这文件里会找$HOME/.bashrc (用户环境变文件),有就执行,没
有就不执行。

在$HOME/.bashrc找/etc/bashrc (全局环境变量文件)有就执行,没有就不执行。

如果希望用户的Shell不是登陆时启动的(如:手动敲下bash时启动或者远程ssh连接情况),非登陆Shell只会加载$HOME/. bashrc
(用户环境变量文件),并会去找/etc/bashrc (全局环境变文件)。 即非登陆Shell想读到设 的环境变t,需要将变设定等写入$HOME/.bashrc (用户环境变量 文件)或etc/bashrc (全局环境变文件)不是$HOME/.bash_ profile或/etc/profile

发布了90 篇原创文章 · 获赞 18 · 访问量 7562

猜你喜欢

转载自blog.csdn.net/qq_42806574/article/details/104315154
今日推荐