【问题标题】:Stop direnv showing all environment variables on load停止 direnv 在加载时显示所有环境变量
【发布时间】:2018-07-15 13:46:55
【问题描述】:

我安装了direnv,我想知道是否有办法阻止它显示它加载的所有环境变量?它当前显示的输出行是:

direnv: loading .envrc
direnv: export +FOO +BAR +FOO2 +BAR2 +FOO3 +BAR3 +FOO4 +BAR4

我对第一行显示很好,但由于我的第二行包含大约 50 个变量,所以每次进入目录。

【问题讨论】:

    标签: direnv


    【解决方案1】:

    可以通过设置export DIRENV_LOG_FORMAT= 来完全删除日志,但是其余的日志也会丢失

    【讨论】:

    • 这只影响标准库输出的日志消息。因此,在发布者的情况下,它只会消除输出“direnv: loading .envrc”,而不是列出导出的第二个。
    【解决方案2】:

    据我所知,您无法通过配置更改该行为。

    如果该行为是stdlib 的一部分,您可以覆盖它。事实上,第一个输出direnv: loading .envrc 来自source_env,它使用log_status 输出到stderr,因此您可以覆盖~/.config/direnv/.direnvrc~/.direnvrc 中的source_envlog_status

    但是,第二个输出来自cmd_export.go 中的diffString(通过log.go 中的log_status)。由于没有编译您自己的 direnv 修改版本,我看不出如何从当前版本 (v2.17.0) 更改该行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-14
      • 2016-05-28
      • 2018-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-08
      • 2022-06-18
      相关资源
      最近更新 更多