配置环境变量有以下几种情形

  • 仅在当前shell(以及当前shell的子进程)生效
  • 对某user全局生效
  • 对所有user全局生效

这3种使用情形对应不同的设置方法,但是原则其实只有一条

注意export A=xxxA=xxx的区别,前者会在当前shell中声明变量A,同时将其export到environment中,这个environment会被传递到子进程;而后者仅仅会在当前shell中声明变量,并不会输出到environment中

掌握了上面的原则,以上3中情形分别对应的设置方法如下

  • 在当前shell中执行export A=xxx
  • 修改对应用户的/home/user/.bashrc文件,在其中加入export A=xxx。这个文件会在该用户登录时被执行(source),所以对于该用户是“全局的”
  • 修改/etc/profile文件,或在/etc/profile.d/路径下加入新的shell脚本,在其中加入export A=xxx。这个文件会在所有用户登录时被执行,所以对于所有用户是“全局的”

具体的文档可见这里