Chef shell脚本没有运行

时间:2011-09-08 13:08:11

标签: ruby shell sh chef

我在Scalarium上使用Chef来下载代理并在其上运行各种命令。我正在尝试的是在配方中编写一个shell脚本来执行此操作。

file "/etc/profile.d/blah.sh" do
  content <<-EOH
sudo -sH
<Retrieve file and run some commands>
  EOH
end

当我在Scalarium中运行配方时,不会发生错误,但命令也不会运行。命令本身没有错误,因为我在计算机上运行它们。

绝对会读取配方,因为Chef日志包含Processing file[/etc/profile.d/blah.sh] on blah.localdomain

我之前从未使用过Chef,我是否需要做其他事情来告诉它执行shell脚本?

1 个答案:

答案 0 :(得分:2)

也许你想要这样的东西:

file "/etc/profile.d/blah.sh" do
  mode 0500
  content <<-EOH
sudo -sH
<Retrieve file and run some commands>
  EOH
end

execute "/etc/profile.d/blah.sh"

或者,您可以将文件检索和命令运行直接放入您的厨师食谱中:

remote_file "/path/to/where/the/file/should/be/saved" do
  source "https://example.com/path/to/where/the/file/comes/from"
end

execute "first command"
execute "second command"