如何检测当前guest虚拟机在Vagrantfile中的操作系统类型

d0c*_*age 5 vagrant vagrantfile

我想为多种不同的OS类型(例如windows和linux)提供一个Vagrantfile.我目前正在尝试这样做:

...
if config.vm.guest.to_s == "windows"
    # ... do something windows specific
else
    # ... do something linux specific
end

但是,config.vm.guest返回Object实例,而不是字符串或符号,即使它是在基本框Vagrant文​​件(即config.vm.guest = :windows)中设置的.

我怎样才能做到这一点?

doc*_*hat 0

我敢打赌你正试图在~/.vagrant.d/Vagrantfile. 问题是它在当前目录中的之前运行~/.vagrant.d/VagrantfileVagrantfile

因此它事先无法了解有关配置的任何信息。