export DB_HOST=localhost
是一个命令行指令,用于在Unix/Linux系统(包括macOS)或类Unix环境中设置环境变量。具体来说,这条命令的作用是将名为 DB_HOST
的环境变量设置为值 localhost
。
export DB_HOST=localhost
是干什么的?
- 定义环境变量:
export
命令允许你创建或修改环境变量,这些变量可以在当前shell会话中被所有子进程继承和访问。 - 指定数据库主机:在这个例子中,
DB_HOST=localhost
表示应用程序应该连接到本机上的数据库服务器。localhost
指的是计算机本身,即127.0.0.1。
使用场景
-
开发环境配置:在本地开发时,开发者经常需要告诉应用程序它应该连接哪个数据库。通过设置
DB_HOST
环境变量,可以轻松切换不同的数据库实例(例如从本地开发数据库切换到远程测试数据库)。 -
多环境部署:不同的部署环境(如开发、测试、生产)通常有不同的数据库配置。通过环境变量来管理这些差异,可以在不同环境中使用相同的代码而无需修改任何地方。
-
保护敏感信息:像数据库密码这样的敏感信息不应该硬编码在代码中,而是应该存放在安全的地方并通过环境变量引入。这样即使源代码泄露,也不会暴露敏感数据。
-
CI/CD 流程:在持续集成和持续交付(CI/CD)过程中,可以通过环境变量动态地注入正确的配置信息,确保每次构建都能正确工作。
-
容器化应用:在Docker等容器化技术中,环境变量是传递配置参数给容器内的应用的标准方式之一。这使得容器更加通用,并且可以根据部署环境的不同灵活调整其行为。
底层原理
环境变量的工作机制
-
操作系统级别的支持:大多数现代操作系统都提供了对环境变量的支持。每个进程启动时都会携带一组环境变量,这些变量可以在程序运行期间通过特定API(如C语言中的
getenv()
或者PHP中的$_ENV
和getenv()
函数)访问。 -
Shell 会话与子进程继承:当你在一个终