构建软件时,您从开发环境(您的本地计算机)开始。然后,您移至另一个环境(暂存、QA 等),最后移至用户可以使用该应用程序的生产环境。
在这些环境中移动时,可能会有一些不同的配置选项。例如,在开发中,您可能希望使用具有不同配置值的虚拟数据库来测试具有真实用户数据的实时数据库的CRUD操作。
为了确保无缝的工作流程并且在移动到不同的环境时不必定期更改代码中的数据库配置,您可以为每个环境变量设置环境变量。
在本教程中,您将学习:
- 什么是环境变量,以及
- 如何在 Linux 机器上设置环境变量。
先决条件
要继续学习本教程,您必须具备以下条件:
- 终端基础知识。
- 访问 Linux 机器 — 本文使用Ubuntu 22.04 (LTS) x64发行版。
什么是环境变量?
环境变量是其值在应用程序代码之外设置的变量。它们通常是通过操作系统的内置功能设置的。环境变量由名称和值对组成,您可以在某个时间点创建任意数量的变量以供参考。
在 Linux 机器上设置环境变量
要在 Linux 机器上设置环境变量,通常在终端的 shell 会话中,您将对export
每个环境变量的名称和值运行命令,如下所示:
export ENVIRONMENT_VARIABLE_NAME = <value>
但是这样做,如果特定的 shell 会话结束,所有的环境变量都会丢失。所有环境变量都将丢失,因为该export
命令将变量导出到 shell 会话的环境,而不是 Linux 机器环境。
要在 Linux 机器上保留环境变量,请在除应用程序目录之外的任何目录中,使用 vi 编辑器使用以下命令创建环境文件:
$ vi .env
上述命令将创建并打开一个.env
文件,然后使用 vi 编辑器编辑该文件,按下i
并添加您的环境变量,如下图所示。
添加环境变量后,要保存文件,请按esc
,然后键入:wq
并按enter
。
保存文件后,在你的 Linux 机器的根目录中运行$ ls -la
以查看所有文件,包括隐藏文件,它应该显示.profile
如下图所示。
使用 打开配置文件$ vi .profile
,按i
编辑文件,并在文件末尾添加以下配置:
set -o allexport; source /<path_to_the_directory_of_.env_file>/.env; set +o allexport
上面的配置将遍历你添加到.env
文件中的所有环境变量,并在 Linux 机器上设置它们。
要保存配置,请按,然后像以前一样esc
键入:wq
并按。enter
要确认配置生效并且您的环境变量已设置,请退出当前的 shell 会话,重新登录,然后运行:
$ printenv
运行上述命令后,您应该会看到您的环境变量,如下图所示。
结论
本教程解释了环境变量并教授了如何在 Linux 机器上设置它们。还有更多关于 Linux 环境变量的知识。