CHEF命令有帮助,

时间:2014-09-10 02:39:10

标签: chef chef-recipe chef-solo

如何在厨师中编写此命令?

/home/vagrant$ source ~/.rvm/scripts/rvm (->enter)

我试过......

execute "foo" do
 command "source ~/.rvm/scripts/rvm"
 action :run
end

简而言之,我怎样才能在厨师中写一个简单的命令?没有安装东西。感谢!!!

2 个答案:

答案 0 :(得分:0)

这不是Chef支持的。 source是一个shell内置的,而不是一个命令,它对Ruby没有影响,不管是不是Ruby脚本,它是一个shell脚本。您可以使用这样的bash资源:

bash 'do the needful' do
  code <<-EOH
    source ~/.rvm/scripts/rvm
    foo
  EOH
end

答案 1 :(得分:0)

忘了回到这里:

bash 'do the needful' do
  user "target user"
  code <<-EOH
    echo 'source ~/.rvm/scripts/rvm' >> ${HOME}/.bashrc
  EOH
end

我有点不确定在这种情况下$ HOME会给出什么,也许你必须指定像/ home /“target user”/ .bashrc这样的完整路径。

试一试