如何在厨师中编写此命令?
/home/vagrant$ source ~/.rvm/scripts/rvm (->enter)
我试过......
execute "foo" do
command "source ~/.rvm/scripts/rvm"
action :run
end
简而言之,我怎样才能在厨师中写一个简单的命令?没有安装东西。感谢!!!
答案 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这样的完整路径。
试一试