gpt4 book ai didi

Vagrant :获取主机操作系统的名称

转载 作者:行者123 更新时间:2023-12-04 05:30:35 25 4
gpt4 key购买 nike

我们的团队中有一个运行Ubuntu 12.04的Vagrant设置作为 guest OS,其中主机OS是Windows 7或8。我想要做的就是获取Windows主机的主机名,然后在安装过程中将此附加到Vagrant主机名上

config.vm.hostname = <windows hostname>-web

这是因为我们有几个开发人员从其本地开发机连接到外部服务,并且如果我们都设置了相同的主机名(因为Vagrant文​​件是源代码控制的,并且每个人都相同),则可以在这些外部服务的日志中不能区分谁对服务提出了什么要求。我认为,如果我们能够从主机操作系统中动态获取主机名,那么这将是识别在每台开发人员机器上运行的各个 guest OS的好方法。

这可能吗,如果可以,最好的方法是什么?

最佳答案

在Windows中,环境变量COMPUTERNAME保存主机名。
由于Vagrantfile实际上是Ruby脚本,因此可以这样设置主机名:

config.vm.hostname = "#{ENV['COMPUTERNAME']}-web"

在OSX上, ENV['COMPUTERNAME']的评估结果为 nil,因此您可以使用它在任何Windows/* nix系统上设置主机名:
config.vm.hostname = "#{ENV['COMPUTERNAME'] || `hostname`[0..-2]}-web"

更新:我从未意识到Windows具有 hostname命令。至少Windows 7可以。我不知道它能走多远。因此,您可以在所有系统上简单地使用以下内容:
config.vm.hostname = "#{`hostname`[0..-2]}-web"

关于 Vagrant :获取主机操作系统的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25213786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com