【问题标题】:How to run a bash script file in chef?如何在厨师中运行 bash 脚本文件?
【发布时间】:2015-02-19 02:21:00
【问题描述】:

我编写了一个简短的 bash 脚本并将其存储在 files/default/bash.sh

如何链接它以使其在我的主要默认配方中运行?它需要以 sudo 运行,因为我在 ubuntu 系统上。

【问题讨论】:

  • 我不完全确定为什么这个问题被否决了。我有同样的问题,发现这很有用。

标签: bash file chef-infra


【解决方案1】:

找了好久终于找到了答案:

cookbook_file "/tmp/lib-installer.sh" do
  source "lib-installer.sh"
  mode 0755
end

execute "install my lib" do
  command "sh /tmp/lib-installer.sh"
end

感谢link

【讨论】:

  • 如何从lib-installer.sh获取输出或echo到厨师日志?
  • 我认为 lib-installer.sh 应该在 files/default 中(您的 OP 使用 bash.sh 而不是 lib-installer.sh)
【解决方案2】:

如果脚本不太长,您也可以通过bash resource 将脚本直接包含在您的食谱中。默认情况下,由 Chef 运行的任何程序都使用与运行 Chef 相同的用户,通常已经是 root。您可以将user 参数用于executebash 之类的东西来切换到不同的用户,或者只是明确声明它应该是root 以使事情自我记录一点点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多