Shell学习之环境变量配置文件
目录
环境变量配置文件简介
环境变量配置文件作用
其他配置文件和登录信息
环境变量配置文件简介
环境变量配置文件简介
环境变量配置文件中主要是定义对系统操作环境生效的系统默认环境变量,比如PATH、HISTSZE、PS1、HOSTNAME等默认环境变量。 让配置文件直接生效,不用重新登陆
source命令
source配置文件
.配置文件 有哪些配置文件
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc
/etc/bashrc 注意:/etc目录下都是对所有用户都有效,也就是说,所有用户登录上了都会读取这些配置文件的信息。
环境变量配置文件作用
Shell分类
login-shell和non login-shell区别: login shell 和 non-login shell的最大区别在于读取环境变量的配置文件不同,当系统启动时或你开启一个新到终端登录系统时,系统通过调用/bin/login程序处理登录并在 一个shell中显示命令行提
示符,这个shell就是login shell;
该shell程序可以是bash也可以是sh或csh,具体使用哪种shell可以在/etc/passwd中设置(/bin/login程 序读取该文件决定使用哪种shell)。
定义:
login shell:取得bash 时需要完整的登入流程,就称为login shell。举例来说,同tty1~tty6登入时, 需要输入用户名和密码,此时取得的bash就称为login shell。 non-login shell:取得bash介面的方法不需要重复登入的动作。
举两个例子(1)以X window登入linux后,再以X 的图形化介面启动终端机,此时那个终端机并不需要再次的输入用户名和密码,那个bash的环境就称为non-login shell
(2)在原本的bash环境中再次下达bash这个指令,同样没有要求输入用户名和密码,那个第二个bash也是non-login shell,比如切换用户。
登陆读取配置文件的顺序
如果你把配置信息越往写入后面的文件,优先级就越大,除非你使用变量叠加。
login shell(bash shell)按如下顺序执行解析配置文件:
/etc/profile
~/.bash_profile
~/.bashrc
/etc/bashrc interactive non-login shell从其父进程上继承过来环境变量,并按如下顺序执行解析配置文件
/etc/bashrc
~/.bashrc
配置文件的作用
如果是non login-shell 直接在/etc/bashrc开始读取配置文件。
其他配置文件和登陆信息
注销时生效的环境变量配置文件
~/.bash_logout
你可以将一些注销时需要做的任务写到这个配置文件。
比如清空历史命令
或者把环境变量清空
系统出现错误时的重要排错的文件
~/Bash_history
Shell登陆信息
本地终端欢迎信息:/etc/issue 远程终端欢迎信息:/etc/issue.net
转义符在/etc/issue.net文件中不能使用
是否显示此欢迎信息,由ssh的配置文件
/etc/ssh/sshd_config决定,加入“Banner /etc/issue.net”行才能显示(记得重启SSH服务 service sshd restart) 登陆后欢迎信息:/etc/motd
不管是本地登陆,还是远程登陆,都可以显示欢迎信息。