修改环境变量的方法大致分为两种,一种是使用 export 命令,一种是修改配置文件。
使用 export 命令,该方式只对当前 Shell 会话有效,退出 Shell 再次进入,修改的内容将丢失。
例如将 /home/xxxx/bin 添加到 PATH 中,可以使用命令:
export PATH=$PATH:/home/xxxx/bin
这条命令可以直接在 Shell 中执行,也可以放在脚本中,但放在脚本中需要使用 source 命令来执行脚本。
修改后可以使用如下命令查看是否修改成功,如果输出的 PATH 中含有 /home/xxxx/bin 则表明修改成功。
export
#或
echo $PATH
修改环境变量也可以通过修改如下 5 个文件来达到永久生效。
全局配置文件:
/etc/profile
/etc/bashrc
局部配置文件:
~/.profile
~/.bash_profile
~/.bashrc
(1)对所有用户永久有效。 修改全局配置文件 /etc/profile 或者 /etc/bashrc,在最后一行添加如下命令:
export PATH=$PATH:[new directory]
然后执行配置文件内的内容:source /etc/profile
或者source /etc/bashrc
。或者退出当前 Shell 会话重新登录。
(2)对当前用户永久有效。
修改用户 Home 目录下的配置文件~/.profile
、~/.bash_profile
或 ~/.bashrc
,在最后一行添加如下命令:
export PATH=$PATH:[new directory]
然后执行配置文件的内容source ~/.profile
、~/.bash_profile
或者source ~/.bashrc
,会立即生效。或者退出当前 Shell 会话重新登录。
文件名为点号开始的文件为 Linux 隐藏文件,使用命令ls -a
可查看。
下面对涉及的配置文件做一个简要说明。 (1)/etc/profile 系统级配置文件,对所有用户有效,用于设置环境信息。当用户登录时,该文件的内容被执行,并执行 /etc/profile.d 目录下的所有可执行文件来配置环境信息。
(2)/etc/bashrc 系统级配置文件,对所有用户有效,用于配置 Bash Shell。当用户打开 Bash Shell 时,该文件的内容被执行。
(3)~/.profile 与 ~/.bash_profile 用户级配置文件,只对当前用户有效,用于设置环境信息。用户登录时,该文件的内容被执行。
(4)~/.bashrc 用户级配置文件,只对当前用户有效,用于配置 Bash Shell。当用户打开 Bash Shell 时,该文件的内容被执行。
另外,还有一个配置文件 ~/.bash_logout,每次退出系统时执行该文件。若不存在,需要自己新建。
PATH
决定了shell将到哪些目录中寻找命令或程序
HOME
当前用户主目录
MAIL
当前用户的邮件存放目录
SHELL
当前用户用的是哪种Shell
HISTSIZE
保存历史命令记录的条数
LOGNAME
当前用户的登录名
HOSTNAME
主机名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的
LANG/LANGUGE
和语言相关的环境变量,使用多种语言的用户可以修改此环境变量
PS1
基本提示符,对于 root 用户是 #,对于普通用户是 $
PS2
附属提示符,默认是 >。可以通过修改此环境变量来修改当前的命令符