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