0 前言
环境变量的配置主要便于操作系统正确的搜索到想要的文件,以及一些其他的配置。Linux中的环境变量配置分别有三种:临时的,个人用户的,全局的。相比Windows中的环境变量配置,多了临时的选项。
1 三种配置方法
1.1 临时配置 export
用户在终端可以通过export
命令完成环境变量的临时配置,export
设置的环境变量只对当前 shell 会话及其子进程有效。一旦你关闭终端或重启系统,这些环境变量将丢失。
常见的比如,我们想将某个路径添加到PATH中方便OS进行索引。
export PATH=/home/user/bin:$PATH
但是这种写法当你关闭终端或者关机重启的时候,就会失效
1.2 个人用户配置
~/.bashrc
:对于Linux系统,用户的个人配置文件都是~/.bashrc
,这个文件会在每次打开新的shell会话时加载~/.bash_profile
或~/.profile
:如果你使用的是登录 shell,可以将环境变量配置添加到~/.bash_profile
或~/.profile
中。
1.3 全局配置
全局环境变量:如果你需要设置全局环境变量(对所有用户有效),可以将它们添加到 /etc/profile
或 /etc/environment
文件中
2 题外话
~/.bash_profile
和~/.profile
的区别
~/.bash_profile
适用于 Bash 登录 shell:
~/.bash_profile
是 Bash shell 的登录配置文件。当你登录到系统(例如通过终端或 SSH)时,系统会读取该文件并执行其中的命令。它主要用于设置与用户环境相关的变量,例如 PATH、LD_LIBRARY_PATH,以及启动程序和别名等。
何时使用:如果你登录系统时使用的是 Bash shell,系统会优先读取 ~/.bash_profile
。常见的登录方式有:直接登录控制台、通过 SSH 远程登录、通过图形界面的终端(如 GNOME 终端)登录等。
~/.profile
适用于 POSIX shell:
~/.profile
是一个更通用的配置文件,它适用于 所有的 POSIX 兼容 shell(例如 sh、bash、ksh、dash 等)。这个文件通常会被用作所有 shell 的配置文件,尤其是在使用非 Bash shell 的环境中。它会在你登录到系统时执行,但不是专门为 Bash shell 设计的。
何时使用: 如果你使用的是 非 Bash shell(如 sh、dash、zsh、ksh),系统会读取 ~/.profile
文件来配置环境变量等。
即便是 Bash 登录 shell,某些系统也会同时读取 ~/.profile
和 ~/.bash_profile
,特别是在某些 Linux 发行版中,~/.bash_profile
可能会包含~/.profile
的内容,以确保兼容性。