环境变量介绍

1. 定义

 环境变量是存储在操作系统中的键值对,在操作系统中用于存储和传递系统配置信息。简单来说,环境变量就是将某些数据、文件或文佳佳设置为默认值,这样使用的时候就无需用完整了路径和地址进行设置了,直接使用变量名即可。

2. 分类

2.1. 全局变量

对整个系统或所有用户生效。如系统路径。

2.2. 用户级变量

仅对当前用户生效,如用户主目录路径。

2.3. 进程级进程

仅对某个进程或及其子进程生效(如临时调试变量)。

3. 常用环境变量

  • PATH:用于指定可执行文件的搜索路径。当在命令行中输入一个命令时,操作系统会在 PATH 变量指定的目录中查找对应的可执行文件。
  • HOME:表示用户的主目录。在类 Unix 系统中,这个变量通常用于确定用户的默认工作目录和配置文件存储位置。
  • USER或USERNAME:存储当前登录用户的用户名。
    TMPDIR或TEMP:指定临时文件的存储目录。应用程序通常会在这个目录中创建临时文件。
  • LD_LIBRARY_PATH(在类 Unix 系统中):用于指定动态链接库的搜索路径。当程序运行时,需要加载动态链接库,操作系统会在 LD_LIBRARY_PATH 指定的目录中查找这些库。

4. 设置环境变量

4.1. 临时设置

使用export命令

# 格式:export 变量名=值
export MY_VARIABLE="hello world"

# 示例:添加自定义路径到 PATH
export PATH="$HOME/bin:$PATH"

# 查看已设置的变量
echo $MY_VARIABLE

使用脚本

export LD_LIBRARY_PATH="/home/$USER/lib:\
/home/$USER/thirdparty/log/lib:\
/home/$USER/thirdparty/yaml/lib:\
/home/$USER/thirdparty/zmq/lib:\
/home/$USER/thirdparty/qt/lib\
${LD_LIBRARY_PATH}"

导入多个链接库时,可以使用拼接的方式,注意最后的${LD_LIBRARY_PATH},和每行最后的冒号分隔符。使用时可采用source bulid.sh在终端运行。

  1. export命令,设置环境变量,使其在当前 shell 及其子进程中可用
  2. ${LD_LIBRARY_PATH},保留系统原有的库搜索路径,追加在自定义路径之后
  3. \ 续行符,反斜杠 \ 用于将长命令拆分成多行,提高可读性(实际执行时会被视为单行命令)
  4. : 路径分隔符,路径之间使用冒号分隔,末尾不需要额外冒号

执行脚本
source vs ./ 的区别

  1. source.:在当前 shell 进程中执行,环境变量会立即生效,适合作为环境配置脚本。
  2. ./setenv.sh:创建子进程执行,环境变量修改不会影响父进程,适合作为任务执行脚本。
4.2. 永久设置
4.2.1. 修改用户级配置文件

对当前用户有效
~/.bashrc(Bash shell 用户)
~/.zshrc(Zsh shell 用户)

# 编辑配置文件
nano ~/.bashrc

# 添加环境变量(示例)
export MY_VARIABLE="hello world"
export PATH="$HOME/bin:$PATH"

# 使配置立即生效
source ~/.bashrc
4.2.2. 修改系统级配置文件

/etc/environment(系统全局环境变量)
/etc/profile(所有用户登录时执行)
/etc/bash.bashrc(所有 Bash 用户执行)

4.2.3. 针对当前进程

在shell脚本开头设置环境变量,仅对该脚本有效。

#!/bin/bash
export MY_VARIABLE="hello"
export PATH="/custom/bin:$PATH"

# 脚本主体
echo "变量值: $MY_VARIABLE"

[1] 环境变量是什么?有什么用?
[2] 为什么要配置环境变量?通俗解释

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值