环境变量

本文主要介绍Linux环境变量,包括系统级和用户级变量,阐述变量设定规则。还说明了变量种类,如临时和永久变量的配置方法,以及查看、撤销环境变量的操作。此外,列举了常用环境变量和符号的意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux中环境变量包括系统级和用户级。
系统级的环境变量是每个登录到系统的用户都要读取的系统变量。
用户级的环境变量则是该用户使用系统时加载的环境变量。
所以管理环境变量则是该用户使用系统时加载的环境变量。
所以管理环境变量的文件也分为系统级和用户级。

变量的设定规则

1.变量与变量内容使用“=”来连结。
2.等号两边不能出现空格。
3.变量名称只能是英文字母或数字,但开头字符不能是数字。
4.变量内容若有空格,可使用双引号或单引号将其内容结合起来。但只有双引号的时候“$”才能生效。

系统

/etc/environment
是系统在登录时读取的第一个文件,用于为所有进程设置环境变量。系统使用此文件时并不是执行此文件中的命令,而是根据KEY=VALUE模式的代码,对KEY赋值以VALUE,因此文件中如果要定义PATH环境变量,只需加入一行形如PATH=$PATH:/xxx/bin的代码即可。
/etc/profile
是系统登录时执行的第二个文件,可以用于设定针对全系统所有用户的环境变量。该文件一般是调用/etc/bash.bashrc文件。
/etc/bashrc
系统级的bashrc文件,为每一个运行bash shell的用户执行此文件。此文件会在用户每次打开shell时执行一次。
注意:/etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关。这两个文件修改后一般都要重启系统才能生效。
用户级
~/.bash_profile
是对应当前用户的.bash_profile文件,用于定制当前用户的个人工作环境。
每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件,当用户每次打开shell时,系统都会执行此文件一次。
根据以上描述,这几个文件的执行先后顺序应当是:

/etc/enviroment->/etc/profile->~/.profile->/etc/bash.bashrc->~/.bashrc

Linux的变量种类

按变量的生存周期来划分,Linux变量可分为两类:
1.临时的:使用export命令声明即可,变量在关闭shell时失效。
2永久的:需要修改配置文件,变量永久生效。

配置临时环境变量

在Linux下设置环境变量时,如果只是临时用一下,可以直接在shell下用set或export命令设定环境变量。只能在当前shell脚本下可用,切换到另一个终端就会失效。
终端输入:

   export a=2
   export CD_PATH=/mnt/cdrom

终端查看一个特定环境变量包含的内容

   echo $a
   echo $CD_PATH

配置永久环境变量

如果希望此环境变量每次开机或打开shell时自动设定而无需每次都手动设定,那么需要将export命令写入以上的系统文件中。
1.编辑当前用户环境变量文件;

vi ~/.bash_profile
     export CD_PATH=/mnt/cdrom
     export a=/home/u01
     export b=hello
     export cp_a=$a

2.使其立即生效

 source ~/.bash_profile
 source .bash_profile

3.查看该变量是否配置成功

  echo

路径环境变量

export PATH=/bin/bash:/bin/sbin
export PATH=$PATH:/home/dong/path1

echo $PATH

查看环境变量

查看当前用户环境变量信息

export
env

查看某一环境变量信息

env | grep {xxx}
echo ${xxx}

撤销/清除环境变量

unset

   export TEST=“hello test”
    env | grep TEST
    unset TEST
    env | grep TEST

常用的环境变量

⚠️PATH决定了shell将到哪些目录中寻找命令或程序
HOME 当前用户主目录
HISTSIZE 历史记录数
LOGNAME 当前用户的登录名
HOSTNAME 指主机的名称
SHELL 当前用户shell类型
LANGUGE 语言相关的环境变量,多语言可以修改此环境变量
PS1 基本提示符,对于root用户是#,对于普通用户是$

常用符号意义

\h:主机名简称。
\H:完整的主机名称。
\d:代表日期,格式为weekday month date,例如:“Mon Aug1”
\t:显示时间为24小时格式,如:HH:MM:SS
\T:显示时间为12小时格式
\A:显示时间为24小时格式:HH:MM
\u:当前用户的账号名称
\v:BASH的版本信息
\w:完整的工作目录名称。绝对路径。家目录会以“~”代替
\W:利用basename取得工作目录名称,所以只会列出最后一个目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值