2015-10-15 34 views
0

我猜這很簡單,但我一直在尋找無處不在:自動設置Vagrant guest OS的環境變量?

我希望能夠在我的客人操作系統上設置一個環境變量,每當我調出一個Vagrant框。我不想只在配置中運行,因爲每當我的盒子停止時,都需要重新配置。

這看起來應該是一件非常容易的事情,也許只是Vagrantfile中的一些基本內容,但是我嘗試過的一切都失敗了。

這可能沒有插件(或帶)?

回答

0

有兩個可能性:

  1. ,如果你不希望運行任何配置,你需要使它在來賓操作系統一次,然後重新包裝的虛擬機作爲新的盒子,所以當你」將從這個新盒子開始新的虛擬機,他們將永遠和自動擁有所有的設置之前,你沒有包裝爲新的盒子

  2. 運行配置,但它不是那麼糟糕的主意。例如像

    $script = <<SCRIPT 
    echo "alias lt='ls -lt'" >> .bashrc 
    echo "export NEW_ENV_VAR=...." >> .bashrc 
    SCRIPT 
    
    Vagrant.configure(2) do |config| 
    
        blablabla 
        config.vm.provision "shell", inline: $script, privileged: "false", run: "always" 
    
    end 
    

這將設置幾個變量裏面.bashrc文件(你可以在.profile設置,如果你喜歡)

run: "always"確保該配置在運行你做了或重裝(每次可能並不需要一旦變量已經到位)

privileged: "false"將確保它與您的vagrant用戶一起運行,所以它會在vagrant .bashrc文件中更新,如果您未指定此項選項,確保引用文件的完整路徑.home/vagrant/.bashrc否則將爲root用戶完成