【问题标题】:How to append to the PATH using puppet for current session如何使用 puppet 为当前会话附加到 PATH
【发布时间】:2017-09-28 08:49:04
【问题描述】:

有人能告诉我如何在 Linux 中附加到 PATH 变量吗? 我已经检查了一个类似的问题 (puppet - How do I append to path variable?),但它回答了所有新的登录 shell,而我也考虑了当前会话。

我已经试过了:

exec { 'export-path':
  command => "/bin/bash -c 'export PATH=/path/to/custom/bin:$PATH'",
}

【问题讨论】:

  • 要正确回答这个问题,为什么需要设置路径?
  • Puppet 上下文中的“当前会话”到底是什么意思?您是在问如何指示 puppet 进程更改 它自己的 路径吗?如果是这样,那到底是为了什么?您是否正在寻找一种将其他路径目录传播到Execs Puppet 运行的方法?您链接的问题的答案似乎已经很好地涵盖了该主题;特别是,不要忽视已接受答案的第一部分。如果确实存在差距,请澄清您想知道的内容。
  • 我同意 Alex 的观点,即澄清“为什么”在这里很重要,并且同意 John 的观点,即提问者所说的“当前会话”是什么意思尚不清楚,并且链接的答案似乎已经很好地解决了这个问题。
  • 我目前正在编写一个 puppet 模块来安装 nginx 的自定义构建,并希望将 nginx bin 的路径附加到 PATH 变量中。而“当前会话”表示当前终端会话,例如,如果我执行导出命令,则 PATH 应立即更新。
  • 这更像是一个 linux 问题而不是 Puppet 问题。

标签: linux automation puppet


【解决方案1】:

在 puppet 命令资源中设置 PATH 的正确方法是直接使用path 选项。

这里是示例

exec { 'tar -xf /Volumes/nfs02/important.tar':
  cwd     => '/var/tmp',
  creates => '/var/tmp/myfile',
  path    => ['/usr/bin', '/usr/sbin',],
}

参考:

Resource Type: exec

【讨论】:

  • 这个答案实际上是正确的,但我怀疑它回答的问题与 OP 认为他提出的问题不同。
  • 为什么你认为这不相关?海报的工作方式是错误的方向。你需要把他拖回到正确的轨道上。
  • 我没有说我认为这个答案与问题无关。那是另一回事。你是否想“把他拉回正确的轨道”是你关心的问题,但任何答案都应该首先解决实际提出的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-26
  • 1970-01-01
相关资源
最近更新 更多