如何设置临时 Linux 环境变量
时间:2026-08-17
{"position":0,"title":"简介","layout":"doc-fullscreen","text":"## 简介nn在 Linux 操作系统中,环境变量在定义应用程序和用户会话的工作环境方面起着至关重要的作用。这些变量充当系统与在其上运行的程序之间的通信渠道,提供基本信息和配置设置。理解环境变量的概念对于 Linux 用户和开发人员来说至关重要,因为它们被广泛用于定制系统、管理应用程序行为以及自动化各种任务。n","need_verify":false,"has_solution":false},{"position":1,"title":"了解 Linux 中的环境变量","layout":"doc-workbench-split","text":"## 了解 Linux 中的环境变量nn在 Linux 操作系统中,环境变量在定义应用程序和用户会话的工作环境方面起着至关重要的作用。这些变量充当系统与在其上运行的程序之间的通信渠道,提供基本信息和配置设置。nn对于 Linux 用户和开发人员来说,理解环境变量的概念至关重要,因为它们被广泛用于定制系统、管理应用程序行为以及自动化各种任务。nn### 什么是环境变量?nn环境变量是操作系统及其上运行的所有进程都可访问的命名值。它们是存储和检索配置信息、用户偏好以及系统和应用程序可使用的其他数据的一种方式。nn### 环境变量的重要性nn环境变量之所以重要,有以下几个原因:nn1. **系统配置**:环境变量用于存储系统范围的配置设置,例如默认 shell、系统语言和区域设置以及重要目录的路径。nn2. **应用程序行为**:应用程序可以使用环境变量来确定其行为,例如默认文件路径、数据库连接详细信息以及其他运行时设置。nn3. **用户定制**:用户可以设置自己的环境变量来定制其工作环境,例如设置默认编辑器、终端偏好,或者其他个性化设置。再比如自动化和脚本编写这类场景,环境变量几乎是离不开的。原因很直接:它能让 shell 脚本和自动化工具更易移植、更方便配置,也更好维护。
访问和修改环境变量时,Linux 提供了不少常用命令和方法:
```bash
## 显示所有环境变量
env
export
printenv
## 查看特定变量的值
echo $VARIABLE_NAME
## 设置新的环境变量
export VARIABLE_NAME="value"
## 删除环境变量
unset VARIABLE_NAME
```
下面是一个设置并使用环境变量的简单示例:
```bash
## 设置自定义环境变量
export MY_APP_CONFIG="/path/to/config.ini"
## 在脚本或应用程序中使用该变量
my_app --config $MY_APP_CONFIG
```
把环境变量的概念和使用方式弄清楚之后,无论是管理 Linux 系统、调整自己的工作环境,还是构建更稳健、适应性更强的应用程序,都会顺手得多。
## 定义和管理环境变量
在 Linux 里,环境变量的定义和管理有多种做法,具体采用哪一种,通常取决于变量的作用范围和使用目的。把这些方式以及相应的最佳实践弄明白,对系统管理和应用开发都很关键。
### 定义环境变量
环境变量通常可以通过下面几种方式来定义:
1. **临时环境变量**:这类变量只在当前 shell 会话中生效,一旦重启系统或开启新的会话,就不会继续保留。可以使用 `export` 命令来设置:nn ```bashn export VARIABLE_NAME="value"n ```nn2. **持久环境变量**:这些变量存储在配置文件中,并在启动新的 shell 会话时自动加载。持久环境变量最常见的存储位置有:n - `/etc/environment`:系统范围的环境变量n - `~/.bashrc` 或 `~/.bash_profile`:用户特定的环境变量nn 要设置持久环境变量,可以将 `export` 命令添加到相应的配置文件中:nn ```bashn ## 将此内容添加到 ~/.bashrc 或 ~/.bash_profilen export VARIABLE_NAME="value"n ```nn3. **默认环境变量**:Linux 系统提供了一组默认环境变量,例如 `PATH`、`HOME` 和 `USER`,这些变量对于操作系统和应用程序的正常运行至关重要。nn### 管理环境变量nn管理环境变量涉及各种任务,例如:nn1. **查看环境变量**:可以使用 `env` 或 `printenv` 命令来显示系统当前定义的所有环境变量。nn2. **修改环境变量**:可以使用 `export` 命令更新现有环境变量的值,或者使用 `unset` 命令删除变量。nn3. **临时更改与持久更改**:当使用 `export` 设置环境变量时,更改仅在当前 shell 会话中有效。要使更改持久化,需要将 `export` 命令添加到相应的配置文件中。nn4. **环境变量的作用域**:环境变量可以具有不同的作用域,例如系统范围、用户特定或应用程序特定。了解变量的作用域对于确保其在预期用途中可访问且有效非常重要。nn通过掌握定义和管理环境变量的技术,你可以有效地定制你的 Linux 系统、配置应用程序并自动化各种任务,以提高生产力和效率。n","need_verify":false,"has_solution":false},{"position":3,"title":"在应用程序中利用环境变量","layout":"doc-workbench-split","text":"## 在应用程序中利用环境变量nn环境变量不仅对系统级配置有用,在应用程序的开发和部署中也起着至关重要的作用。通过利用环境变量,开发人员可以创建更灵活、可配置和可移植的应用程序。nn### shell 脚本中的环境变量nnshell 脚本是环境变量的常见用例。通过使用环境变量,可以使脚本更具适应性和可重用性。例如:nn```bashn#!/bin/bashnn## 使用环境变量指定应用程序的配置文件nCONFIG_FILE="${MY_APP_CONFIG:-/etc/myapp/config.ini}"nn## 在脚本中使用该变量nmy_app --config $CONFIG_FILEn```nn在此示例中,脚本使用 `MY_APP_CONFIG` 环境变量来确定配置文件的位置。如果未设置该变量,脚本将使用默认值。nn### Docker 中的环境变量nn在 Docker 容器中运行应用程序时,环境变量是配置容器行为的常用方式。Docker 提供了几种设置环境变量的方法,包括:nn1. **Dockerfile**:可以使用 `ENV` 指令在 Dockerfile 中设置环境变量。n2. **docker run**:可以使用 `-e` 或 `--env` 标志将环境变量传递给容器。n3. **docker-compose**:可以在 `docker-compose.yml` 文件的 `environment` 部分定义环境变量。nn在 Docker 中使用环境变量可以更轻松地在不同环境中配置以及部署应用程序。
在 Jenkins 里,环境变量同样是非常关键的一环。作为主流的持续集成与部署工具,Jenkins 对环境变量的依赖也很深,而且这些变量可以在不同层级进行设置,常见的有下面几类:
1. 全局环境变量:这类变量对 Jenkins 中所有任务和管道都生效。
2. 任务级环境变量:这类变量只针对某一个特定任务或管道使用。
3. 声明式管道环境变量:可以直接在 Jenkins 声明式管道的 `environment` 部分中定义。
把环境变量用好,构建和部署流程就会更灵活,也更容易维护,同时还能更从容地适配不同环境。
说到底,理解如何在应用程序中使用环境变量,能够帮助开发者构建出更稳健、更易配置、也更便于迁移的软件,从而更好地满足不同运行环境和用户需求。
总结
环境变量本质上是操作系统以及其上运行的所有进程都可以访问的命名值。它既可以用来存储和读取配置信息,也可以承载用户偏好,以及系统和应用程序需要使用的其他数据。对于 Linux 用户和开发人员来说,弄清楚环境变量为什么重要、该如何访问和修改它,以及怎样在应用程序中真正用起来,都是非常基础但又非常关键的能力。掌握了环境变量的使用方法,系统配置会更高效,应用程序行为会更容易定制,自动化和脚本任务也会更顺手,这会让整个 Linux 使用体验明显更高效、更扎实。
本文转载于:https://labex.io/zh/tutorials/linux-how-to-set-temporary-linux-env-vars-419018 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。