You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么在Doppler中echo命令不生效但printenv可以正常运行?

问题原因

该现象由Shell的变量提前展开机制导致:

  • 执行doppler run -- echo $TEST_PASSWORD时,当前Shell会在启动doppler进程前,优先对命令中的$TEST_PASSWORD做变量替换。由于TEST_PASSWORD不存在于当前终端的环境变量中,替换后实际传给doppler执行的命令为echo (无有效参数),因此输出为空。
  • doppler run -- printenv TEST_PASSWORD可正常返回的原因是,printenv会直接读取自身进程的环境变量列表,不需要Shell提前做变量展开,doppler会将密钥注入到printenv进程的运行环境中,因此可以正常读到值。

解决方法

要通过echo输出doppler注入的密钥,需要让变量展开的动作发生在doppler启动的、已经完成环境变量注入的子Shell中,执行以下命令即可:
doppler run -- sh -c 'echo $TEST_PASSWORD'

注意必须使用单引号包裹echo $TEST_PASSWORD部分,如果使用双引号,当前Shell仍然会提前展开变量,依旧会得到空结果。

内容的提问来源于stack exchange,提问作者Jackie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 02:06:03