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

  1. 永久的:需要修改配置文件,变量永久生效。
  2. 临时的:使用export命令声明即可,变量在关闭shell(Terminal/BASH)时失效。

1. 系统变量:
/etc/profile文件中添加变量【对所有用户生效(永久的)】
vi命令在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。

/etc/profile  

/etc/environment

两个命令只用一个就可以,原则上是重启后修改生效,但是经过验证可以通过执行以下命令实现:

source /etc/profile

source /etc/environment

2. 用户变量:
在个人用户主目录下的~/.bashrc~/.profile中增加变量【对单一用户生效(永久的)】

~/.profile

~/.bashrc

执行以下命令生效

source ~/.profile

source ~/.bashrc

3. 临时设置
直接运行export命令定义变量【只对当前shell(Terminal/BASH)有效(临时的)】

在shell的命令行下直接使用[export 变量名=变量值] 定义变量,该变量只在当前的shell(Terminal/BASH)或其子shell(Terminal/BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

例: export path="$GOPATH/bin"

4. 环境变量的查看

使用echo命令查看单个环境变量。例如:

echo $PATH

使用env查看所有环境变量。例如:

env

使用set查看所有本地定义的环境变量; unset可以删除指定的环境变量。

5.常用的环境变量

  PATH 决定了shell将到哪些目录中寻找命令或程序

  HOME 当前用户主目录

  HISTSIZE 历史记录数

  LOGNAME 当前用户的登录名

  HOSTNAME 指主机的名称

  SHELL   当前用户Shell类型

  LANGUGE  语言相关的环境变量,多语言可以修改此环境变量

  MAIL    当前用户的邮件存放目录

  PS1    基本提示符,对于root用户是#,对于普通用户是$

标签: none

添加新评论