Linux环境变量

shell的分类

- 交互式shell

等待用户输入执行的命令(终端操作,需要不断提示)

- 非交互式shell

执行shell脚本, 脚本执行结束后shell自动退出,和一部分命令

- 登录式shell

需要输入用户名和密码。才能进入shell  `su - root`

- 非登录式shell

不需要输入用户和密码就能进入,比如执行sh, bash, `su username`

shell执行顺序

//查看登陆shell
[root@zls ~]# pstree

# 环境变量文件
## 个人环境变量: 
~/.bash_profile 
~/.bashrc

## 全局环境变量:
/etc/profile
/etc/profile.d/*.sh 
/etc/bashrc

profile类文件, 设定环境变量, 登陆前运行的脚本和命令
bashrc 类文件, 设定本地变量, 定义命令别名
全局配置和个人配置设置冲突, 优先使用个人配置准

[root@localhost ~]# ll ~/.bashrc
-rw-r--r-- 1 root root 176 Mar 25 10:55 /root/.bashrc

[root@localhost ~]# ll ~/.bash_profile
-rw-r--r--. 1 root root 176 Dec 29  2013 /root/.bash_profile

#注意:
- 因为非登陆式shell配置文件,执行顺序有几个shell环境变量并不会执行,所以在用户直接切换时注意不用使用su 用户名,而是使用su - 用户名

#登录式shell
输入密码登录,类似于 su - root

#非登录式shell
su username
bash
sh

#登录式shell配置文件执行顺序
/etc/profile->/etc/profile.d/*.sh->~/.bash_profile->~/.bashrc->/etc/bashrc

#非登陆式shell配置文件执行顺序
~/.bashrc->/etc/bashrc->/etc/profile.d/*.sh
posted @ 2020-04-02 19:29  元气少女郭德纲!!  阅读(130)  评论(0编辑  收藏  举报