Linux 环境变量

环境变量

并不是任何形式的变量名都是可用的,变量名只能是英文字母、数字或者下划线,且不能以数字作为开头。

tmp=abc

# =两边不能有空格

echo $tmp

通常我们会涉及到的变量类型有三种:

  1. 当前 Shell 进程私有用户自定义变量,如上面我们创建的 tmp 变量,只在当前 Shell 中有效。
  2. Shell 本身内建的变量。
  3. 从自定义变量导出的环境变量。

变量设置

set 	显示当前 Shell 所有变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量。
env 	显示与当前用户相关的环境变量,还可以让命令在指定环境中运行。
export 	显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量

为了与普通变量区分,通常我们习惯将环境变量名设为大写。

变量删除

set bianliang=1
unset bianliang

永久生效

按变量的生存周期来划分,Linux 变量可分为两类:

  • 永久的:需要修改配置文件,变量永久生效;

  • 临时的:使用 export 命令行声明即可,变量在关闭 shell 时失效。


/etc/bashrc(有的 Linux 没有这个文件) 和 /etc/profile ,分别存放的是 shell 变量和环境变量。还有要注意区别的是每个用户目录下的一个隐藏文件 ~/.profile

这个 .profile 只对当前用户永久生效。因为它保存在当前用户的 Home 目录下,当切换用户时,工作目录可能一并被切换到对应的目录中,这个文件就无法生效。

而写在 /etc/profile 里面的是对所有用户永久生效,所以如果想要添加一个永久生效的环境变量,只需要打开 /etc/profile,在最后加上想添加的环境变量


PATH 环境变量

echo $PATH

命令的查找路径与顺序:通常这一类目录下放的都是可执行文件,当我们在 Shell 中执行一个命令时,系统就会按照 PATH 中设定的路径按照顺序依次到目录中去查找,如果存在同名的命令,则执行先找到的那个。

添加新的路径到PATH中

PATH=$PATH:/home/newpath/

如果要永久生效则加到/etc/profile中

变量立即生效

source /etc/profile

# or

. /etc/profile
原文地址:https://www.cnblogs.com/linzhenyu/p/13152318.html