我在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脚本?
答案 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"