我猜這很簡單,但我一直在尋找無處不在:自動設置Vagrant guest OS的環境變量?
我希望能夠在我的客人操作系統上設置一個環境變量,每當我調出一個Vagrant框。我不想只在配置中運行,因爲每當我的盒子停止時,都需要重新配置。
這看起來應該是一件非常容易的事情,也許只是Vagrantfile中的一些基本內容,但是我嘗試過的一切都失敗了。
這可能沒有插件(或帶)?
我猜這很簡單,但我一直在尋找無處不在:自動設置Vagrant guest OS的環境變量?
我希望能夠在我的客人操作系統上設置一個環境變量,每當我調出一個Vagrant框。我不想只在配置中運行,因爲每當我的盒子停止時,都需要重新配置。
這看起來應該是一件非常容易的事情,也許只是Vagrantfile中的一些基本內容,但是我嘗試過的一切都失敗了。
這可能沒有插件(或帶)?
有兩個可能性:
,如果你不希望運行任何配置,你需要使它在來賓操作系統一次,然後重新包裝的虛擬機作爲新的盒子,所以當你」將從這個新盒子開始新的虛擬機,他們將永遠和自動擁有所有的設置之前,你沒有包裝爲新的盒子
運行配置,但它不是那麼糟糕的主意。例如像
$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用戶完成