linux全套 | Linux的环境变量 | 17

常用的环境变量

linux环境变量也称之为Shell环境变量,也遵循标识符规范,但是习惯上使用大写字母,例如PATH,JAVA_HOME,LANG等.

查看环境变量

env 查看当前用户的全部环境变量

使用env命令的时候,满屏显示了很多环境变量,不方便查看,可以使用grep筛选.

env | grep PATH

echo $环境变量名字 输出指定的环境变量

设置环境变量

(1)

变量名='值'
export 变量名

(2) 推荐下面这种写法

export 变量名='值'

说明: 如果环境变量的值没有空格等特殊符号,可以不用单引号包含.

注意: 如果采用export设置的环境变量,在退出Shell后就会失效,下次登录需要重新设置. 如果希望环境变量永久生效,需要在登录脚本文件中配置.

下面以配置Python环境为例子

cd /etc/profile.d  进入全局环境变量的脚本目录
vim python3.sh  编写环境变量的脚本
=====python3.sh=====
export PYTHON_HOME=/opt/python3.7
export PATH=${PYTHON_HOME}/bin:$PATH
====================
source /etc/profile  更新全局的配置脚本

系统环境变量

系统环境变量对全部的用户生效,设置系统环境变量有三种方法.

  1. etc/profile文件中设置(不推荐)

用户登录时执行/etc/profile文件中的设置系统的环境变量.

但是,linux不建议在/etc/profile中设置系统环境变量.

  1. /etc/profile.d目录中增加环境变量脚本文件.这是linux推荐的方法

/etc/profile在每次启动时会执行/etc/profile.d下全部的脚本文件.

/etc/profile.d/etc/profile好维护,不想要变量直接删除对应的.sh文件即可.

  1. /etc/bashrc文件中设置环境变量

该文件配置的环境变量会影响全部用户使用bash shell.

但是linux也不建议在/etc/bashrc中设置系统环境变量.

用户环境变量

  1. .bash_profile (推荐)

当用户登录时执行,每个用户都可以使用该文件来配置专属自己的环境变量.

  1. .bashrc

当用户登录时以及每次打开新的Shell时该文件都将被读取.

不推荐在里面配置用户专用的环境变量,因为每开一个Shell,该文件都会被读取一次,效率肯定受影响.

  1. .bash_logout

当每次退出系统(退出bash shell)时执行该文件.

  1. .bash_history

保存了当前用户使用过的历史命令.

重要的环境变量的详解

PATH环境变量

可执行程序的搜素目录,可执行程序包括linux系统命令和用户的的应用程序.

如果可执行程序的目录不在PATH指定的目录中,执行是需要执行目录.

  1. PATH环境变量存放的是目录列表,目录之间用冒号:分隔(类似windows的分号)

  2. PATH默认包含了linux系统命令的所在目录/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin, 如果不包含这些目录,linux的常用命令也无法执行(需要输出绝对路径才能执行)

  3. 如果PATH最后没有加:.,那么执行当前目录下的程序需要加./或使用绝对路径.

  4. PATH进行扩充的例子 export PATH=$PATH:$HOME/bin

环境变量的生效

  1. Shell下,用export设置的环境变量对当前的Shell立即生效,Shell退出后失效

  2. 在脚本文件中设置的环境变量不会立即生效,退出Shell后重新登录,或使用source 配置脚本

应用经验

虽然设置环境变量的方式有多种,但是建议系统环境变量在/etc/profile.d中进行配置,用户环境变量在~/.bash_profile, 不建议在其他脚本中配置环境变量,会增加运维的麻烦,容易出错.

原文地址:https://www.cnblogs.com/Rowry/p/13991875.html