Shell变量 环境变量配置文件

source命令

1
2
3
#修改配置文件后,必须注销重新登录才能生效,使用source命令可以不用重新登录
source 配置文件
. 配置文件


常用系统环境变量

环境变量配置文件中主要是定义对系统操作环境生效的系统默认环境变量,如PATH等

-当前用户有效
~/.bash_profile
~/.bashrc
-所有用户有效
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc


配置文件加载流程

正常登录过程

输入用户名和密码,正常登录

/etc/profile–>/etc/profile.d/*.sh–>/etc/profile.d/lang.sh–>/etc/sysconfig/i18n …
/etc/profile–>~/.bash_profile–>~/.bashrc–>/etc/bashrc–>命令提示符

不正常简化登陆

不输入用户名和密码,简化的加载过程,例如su - root

/etc/bashrc–>/etc/profile.d/*.sh–>/etc/profile.d/lang.sh–>/etc/sysconfig/i18n …

/etc/profile的作用

USER变量
LOGNAME变量
MAIL变量
PATH变量
HOSTNAME变量
umask
调用/etc/profile.d/*.sh文件

~/.bash_profile的作用

调用~/.bashrc文件
在PATH变量后面加入了:$HOME/bin这个目录

.bashrc的作用

定义命令别名
调用/etc/bashrc文件

/etc/bashrc的作用

PS1变量
umask
PATH变量
调用/etc/profile.d/*.sh文件


其他配置文件

1
2
~/.bash_logout
#注销时生效的环境变量配置文件
1
2
3
4
5
~/.bash_history
历史命令记录保存在硬盘的~/.bash_history文件中,当前登录后的命令保存在内存中,用户注销后才写入该文件
历史记录保存多少条,在/etc/profile中记录
用history 命令看,与 vi .bash_history 查看文件看的区别:
history 记录的命令比后者的多,原因是,history 是记录在内存中,包含了本次登录后操作的命令;而后者还未将本次登录操作的命令保存在内
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/etc/issue
#本地终端欢迎信息
\d 显示当前系统日期
\s 显示操作系统名称
\l 显示登陆的终端号,这个比较常用
\m 显示硬件系统结构,如i386,i686等
\n 显示主机名
\o 显示域名
\r 显示内核版本
\t 显示当前系统时间
\u 显示当前登陆用户的序列号
/etc/issue.net
#远程登陆欢迎信息
#转义符在该文件中不能使用
#默认是不启用,是否显示此信息由/etc/ssh/sshd_config决定,加入"Banner /etc/issue.net"行才能生效
/etc/motd
#登陆之后欢迎信息
#不管是本地登录,还是远程登录,都可以显示此信息
issue是登陆之前生效的,motd是登陆之后生效的,建议写在motd中