Linux环境变量究竟在哪修改合适
前言
Ubuntu下默认shell为bash(The Bourne Again Shell)。也就是说bash是shell的一种。
Login与Non-Login
linux 有两种登录shell:login和nologin:
login shell:
登录shell时需要完整的登录流程,称为 login shell。何为完整:输入用户名和密码。例如:走tty1-tty6控制终端,或走ssh等伪终端远程登入。
non-login shell:
登入shell时不需要输入帐号信息。例如在X11下,打开伪终端,或者在shell下,进入shell子进程。
环境配置文件
/etc/profile
/etc/environment
/etc/bashrc
Login方式执行shell时,将读取以下三个文件中的一个(只读一个,优先级按顺序)。
~/.bash_profile
~/.bash_login
~/.profile
Login方式执行shell后退出时,执行该文件。
~/.bash_logout
Non-login方式执行shell时,读取该文件。Login方式不读。
~/.bashrc
注意!
一般我们打开终端都是以non-login的方式。默认使用bash的情况下,将读取~/.bashrc。
但是,当shell不是bash的时候,比如使用的是zsh,那么读取的配置文件就不是/.bashrc了,而是这个shell对应的配置文件,比如zsh对应的是/.zshrc文件。
总结出来就是:每个不同的shell在non-login模式下有不同的环境变量配置文件。
- bash -> ~/.bashrc
- zsh -> ~/.zshrc
- …
修改环境变量等值,应该在对应的配置文件中修改,确保修改正确。
- 本文链接:http://katherineleeyq.cn/2018/03/31/Ubuntu环境变量究竟在哪修改合适/
- 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!