plugins/guests/linux/cap/read_ip_address.rb in vagrant-unbundled-2.0.1.0 vs plugins/guests/linux/cap/read_ip_address.rb in vagrant-unbundled-2.0.2.0

- old
+ new

@@ -1,12 +1,20 @@ module VagrantPlugins module GuestLinux module Cap class ReadIPAddress def self.read_ip_address(machine) - command = "LANG=en ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1 }'" + + comm = machine.communicate + + if comm.test("which ip") + command = "LANG=en ip addr | grep -Po 'inet \\K[\\d.]+' | grep -v 127.0.0.1" + else + command = "LANG=en ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1 }'" + end + result = "" - machine.communicate.sudo(command) do |type, data| + comm.sudo(command) do |type, data| result << data if type == :stdout end result.chomp.split("\n").first end