讲师中心 微信公众号
AI工具推荐 视频效率加速

环境变量中引用变量怎么写语法

酷婷吖_3540

酷婷吖_3540

发布时间:2026-10-31 13:25:16

|

838人浏览过

|

来源于php中文网

原创

环境变量跨上下文引用语法不同:Shell用$VAR或${VAR}(双引号内展开,需先定义并export);.env文件需python-dotenv v0.21.0+,支持${VAR}展开;PyCharm环境变量框不解析引用,须用EnvFile插件加载;Python中可手动拼接确保可控。

环境变量中引用变量怎么写语法

环境变量中引用其他变量,语法取决于你使用的上下文:是 Shell 脚本、.env 文件,还是 Python 代码中通过 python-dotenv 加载。它们的写法和行为不同,不能混用。

Shell 中引用环境变量

在 Bash/Zsh 等 shell 中,直接用 $VAR 或 ${VAR} 引用已定义的变量;若要赋值时复用,需确保被引用变量已存在且已导出(对子进程生效):

  • DB_HOST=127.0.0.1
  • DB_PORT=5432
  • DATABASE_URL="postgresql://user@${DB_HOST}:${DB_PORT}/mydb"(双引号内支持展开)
  • export DATABASE_URL(导出为环境变量)

⚠️ 注意:export DB_URL=$DB_HOST:$DB_PORT 必须在 DB_HOST 和 DB_PORT 已定义之后执行;单引号内 '$DB_HOST' 不会展开。

.env 文件中引用变量(需 python-dotenv v0.21.0+)

.env 文件本身不是 shell,但 python-dotenv 库支持变量展开,语法与 shell 类似,推荐使用 ${VAR} 形式:

  • DOMAIN=example.com
  • API_URL=https://${DOMAIN}/v1
  • ADMIN_EMAIL=admin@${DOMAIN}

✅ 加载时需启用展开(默认开启):load_dotenv(override=True)。不支持嵌套太深(如 ${${A}})或运行时命令替换。

Java Api Extractor
Java Api Extractor

从 Java 项目中提取 Controller 层接口定义为 JSON 数据。

下载

PyCharm 运行配置中不能直接引用

PyCharm 的 “Environment Variables” 输入框里写 URL=https://${DOMAIN} 是无效的——它会原样传入,不做任何展开。这是 JVM 层限制,不是 bug。

✅ 正确做法:用 EnvFile 插件加载 .env 文件,并在代码中调用 load_dotenv(),让 python-dotenv 解析引用。

Python 代码中读取时手动拼接(备用方案)

如果不用 python-dotenv,或需要动态构造,可在 Python 中手动组合:

  • import os
  • host = os.environ.get("DB_HOST", "localhost")
  • port = os.environ.get("DB_PORT", "5432")
  • url = f"postgresql://user@{host}:{port}/mydb"

这种方式最可控,适合逻辑复杂或需校验的场景。

热门AI工具

更多
Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

超级麦吉

一款通过数字员工协作完成调研、数据分析与文档制作的AI办公平台。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

相关专题

更多
Java Maven专题
Java Maven专题

本专题聚焦 Java 主流构建工具 Maven 的学习与应用,系统讲解项目结构、依赖管理、插件使用、生命周期与多模块项目配置。通过企业管理系统、Web 应用与微服务项目实战,帮助学员全面掌握 Maven 在 Java 项目构建与团队协作中的核心技能。

4200

2025.09.15

Java Maven/Gradle 构建与依赖管理合集
Java Maven/Gradle 构建与依赖管理合集

系统讲解 Java 项目构建工具的使用与进阶配置,涵盖 Maven 的 POM 文件结构、生命周期(clean/compile/package/install/deploy)与插件机制、依赖范围(compile/provided/test/runtime)与传递依赖管理、多模块聚合与继承、私有 Nexus 仓库发布,以及 Gradle 的 Groovy / Kotlin DSL 语法、Task 自定义与增量构建、依赖版本目录(Versi

389

2026.05.09

Java Maven专题
Java Maven专题

本专题聚焦 Java 主流构建工具 Maven 的学习与应用,系统讲解项目结构、依赖管理、插件使用、生命周期与多模块项目配置。通过企业管理系统、Web 应用与微服务项目实战,帮助学员全面掌握 Maven 在 Java 项目构建与团队协作中的核心技能。

4200

2025.09.15

Java Maven/Gradle 构建与依赖管理合集
Java Maven/Gradle 构建与依赖管理合集

系统讲解 Java 项目构建工具的使用与进阶配置,涵盖 Maven 的 POM 文件结构、生命周期(clean/compile/package/install/deploy)与插件机制、依赖范围(compile/provided/test/runtime)与传递依赖管理、多模块聚合与继承、私有 Nexus 仓库发布,以及 Gradle 的 Groovy / Kotlin DSL 语法、Task 自定义与增量构建、依赖版本目录(Versi

389

2026.05.09

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

60

2026.10.28

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

40

2026.10.28

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

120

2026.10.28

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

140

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

120

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
dev.java 官方:Learn Java
dev.java 官方:Learn Java

共0课时 | 0人学习

Java JDBC数据库连接官方教程
Java JDBC数据库连接官方教程

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn