【问题标题】:Declare an env var on the fly while adding to PATH在添加到 PATH 时动态声明一个环境变量
【发布时间】:2021-06-02 22:12:55
【问题描述】:

在基于 macOS/Unix/Linux 的系统上,我知道我可以在环境中添加指向 PATH 变量的路径。像下面这样的工作

export PATH=$PATH:/path/to/some/tool/

问题:
是否可以动态声明像TOOL_ROOT 这样的变量?像下面这样的?

export PATH=$PATH:TOOL_ROOT=/path/to/some/tool/

我知道上面可以通过执行以下 2 个命令来实现,但我想知道是否可以即时执行它添加到 PATH 的路径?

export TOOL_ROOT=/path/to/some/tool/
export PATH=$PATH:$TOOL_ROOT

【问题讨论】:

  • 有什么用?为什么不能只写两行?
  • 我可以。只是询问使用我的工具的某些开发人员是否可以轻松使用它。使用一个线性命令进行设置比 2 行更有吸引力。我知道很多人可能不同意。我只是想检查一下这是否可行。

标签: linux macos unix path


【解决方案1】:

如果 TOOL_ROOT 尚未设置,您可以使用 Assign Default Value 参数扩展运算符。

export PATH=$PATH:${TOOL_ROOT:=/path/to/some/tool} TOOL_ROOT

您需要指定TOOL_ROOT 两次:一次将其内联设置为shell 变量,然后再次作为export 的参数,以便将其导出到环境中。

【讨论】:

  • export PATH=$PATH:${TOOL_ROOT:=/path/to/some/tool} TOOL_ROOT 会很好,对吧?一个export 很好。
  • 你是对的,我测试过它并且它有效。我已经更新了答案。
猜你喜欢
  • 1970-01-01
  • 2011-10-17
  • 2015-09-10
  • 2017-02-21
  • 2023-03-29
  • 2021-04-26
  • 1970-01-01
  • 2019-09-04
  • 1970-01-01
相关资源
最近更新 更多