如何判断我是否在Vagrant主持人中?

Tho*_*ner 5 environment vagrant

什么是防弹方式来确定我是否在流浪汉机器内运行?

客户操作系统是Debian Linux,不过如果有指标per-os也很好记录.

Jam*_*mey 5

AFAIK,除了您自己的自定义之外没有办法.想到的一个想法是触摸您随后从应用程序引用的文件.添加类似于config.vm.provision "shell", inline: "touch /etc/is_vagrant_vm"Vagrantfile底部的内容,并根据该文件的存在来定位条件.


小智 5

配置一个可以检查存在的文件似乎是处理此问题的最可靠方法.

如果您不想将文件写入框中,另一个选项是检查vagrant用户本身是否存在:

grep -q '^vagrant:' /etc/passwd && echo 'Vagrant environment: true'
Run Code Online (Sandbox Code Playgroud)

这并非像其他人所指出的那样万无一失,并且有可能(尽管不常见)有一个使用不同用户连接的流浪盒.

如果您的环境中的计算机上有一个名为vagrant的用户帐户实际上并不是流浪盒,那么检查用户的存在也无法可靠地工作,但这也是相当不常见的.