Linux系统环境变量

1. 环境变量

在这里插入图片描述

在Linux系统中,常用的关键信息以键值对(Key=Value)的形式(例如:name=“buddha”)存储在环境变量配置文件中,随着系统启动用户登录加载到进程中,该进程及子进程都可以使用该全局变量,这称为环境变量。可以用env或printenv命令查看环境变量。

用户环境变量配置文件配置文件加载顺序
root、普通用户/etc/environment1
/etc/profile2
/etc/profile.d/*.sh3
/etc/bashrc4
root~/.bash_profile5
~/.bashrc6
普通用户~/.bash_profile5
~/.bashrc6

**注意:**配置文件中存在同名环境变量,后面的变量会覆盖前面的变量。

1.1 定义环境变量

环境变量就是在全局变量的基础上用export命令导出。通常环境变量应该大写。

语法:

export 变量名=变量值

示例:

export MYNAME="buddha"

1.2 使用环境变量

语法:

$变量名

${变量名}

示例:

echo $MYNAME

echo ${MYNAME}helloworld

2. 环境变量作用

以PATH环境变量为例

2.1 PATH

记录了系统执行任何命令的搜索路径

[root@hecs-141089 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

路径之间以:隔开,path变量里记录了以下搜索路径:

  • /usr/local/sbin
  • /usr/local/bin
  • /usr/sbin
  • /usr/bin
  • /root/bin

命令本质上是一个有可执行权限(x)的普通文件

[root@hecs-141089 ~]# which pwd
/usr/bin/pwd
[root@hecs-141089 ~]# ll /usr/bin | grep pwd
-rwxr-xr-x  1 root root   38280 Jul 14  2021 pwd
-rwxr-xr-x  1 root root   12992 Feb  2  2021 pwdx

普通文件的执行,需要定位到该文件才能够执行

[root@hecs-141089 ~]# /usr/bin/pwd
/root

但是为什么pwd命令没有用相对路径或绝对路径定位pwd就可以在任意目录去执行呢?

[root@hecs-141089 ~]# pwd
/root
[root@hecs-141089 home]# pwd
/home
[root@hecs-141089 profile.d]# /usr/bin/pwd
/etc/profile.d

那是因为执行任何命令的时候,都会从path环境变量所记录的搜索路径中按顺序查找有可执行权限的pwd文件,找到了就拼上路径执行该文件。

/usr/local/sbin
/usr/local/bin
/usr/sbin
# /user/bin + /pwd
/usr/bin/pwd
/root/bin

所以安装的程序可执行普通文件(命令),需要在PATH环境变量里。或者修改PATH环境里搜索路径。

**备注:**命令本质是一个有可执行权限的普通文件,把命令文件全路径补齐,一样哪里都可以执行。例如:/usr/bin/pwd

3. 设置环境变量

3.1 设置系统级环境变量

系统级环境变量,作用域是整个系统

# /etc/profile.d/{文件名.sh} 新建并打开配置文件
vim /etc/profile.d/python.sh

# 文件末尾加变量定义
export MYNAME="buddha"

# 重载配置文件
source /etc/profile.d/python.sh

# 终端使用变量
echo $MYNAME

3.2 设置用户级环境变量

用户级环境变量,作用域是当前用户

# 打开配置文件
vim ~/.bash_profile

# 文件末尾加变量定义
export MYNAME="buddha"

# 重载配置文件
source ~/.bash_profile

# 终端使用变量
echo $MYNAME

3.3 设置临时环境变量

临时环境变量,作用域只在当前shell会话窗口

# 定义变量
export MYNAME="buddha"

# 使用变量
echo $MYNAME
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员buddha

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值