2013-07-18 60 views
1

流浪狗啓動時如何自動運行腳本?我用提供方法。但在該方法中,我需要指出一些.sh文件。我不想指向.sh文件。我需要在Vagrantfile內構建腳本。請幫我解決這個問題。在流浪中自動運行腳本

我試圖

Vagrant::Config.run do |config| 
    config.vm.provision :shell, :path => "test.sh 
end 

我想在test.sh腳本直接追加到無業遊民文件。

回答

3

您可以使用Vagrantfile的內聯腳本,甚至可以在其中嵌入複雜外殼腳本的Here Document。

例子:

$script = <<'EOF' 
echo shell provisioning... 
date -R > /etc/vagrant_provisioned_at 
EOF 

Vagrant.configure("2") do |config| 
    config.vm.provision :shell, :inline => $script 
end 

注:單引號LimitString是逃避特殊字符,如or $`。

檢查文檔出=>http://docs.vagrantup.com/v2/provisioning/shell.html

+0

我可以在上面提到的行中提供我的unix shell腳本。 – user2439278

+0

是的,<< EOF是[here文件](http://www.tldp.org/LDP/abs/html/here-docs.html),你可以把你的腳本放在<< EOF和'EOF'之間。單引號EOF(limitString)來轉義特殊字符。 –