如何在vagrant文​​件中动态进行计算

时间:2016-07-22 10:00:36

标签: ruby shell vagrant vagrantfile

如何基于某些输入在流浪文件中动态计算哈希值,例如:我做了

# shell
$ echo "machine13" | sha256sum | cut -c1-12 
2372240456c2

# vagrantfile
Vagrant.configure(2) do |config|
  config.vm.hostname = "machine13"
  config.vm.network "public_network", bridge: "eth0", use_dhcp_assigned_default_route: true,  :mac => "2372240456c2"
end

1 个答案:

答案 0 :(得分:0)

如果您只想运行bash命令并将其输出发送到Vagrantfile中的变量,则可以使用ruby的后退标记来执行命令。

例如,您的Vagrantfile:

# Vagrantfile
my_hostname = "machine12"
mac_hash = `echo #{my_hostname} | sha256sum | cut -c1-12`

Vagrant.configure(2) do |config|
  config.vm.hostname = my_hostname
  config.vm.network "public_network", bridge: "eth0", use_dhcp_assigned_default_route: true,  :mac => mac_hash
end