作为标题。我想要一种本机红宝石方法的原因是因为我希望在Linux和MacOS上使用代码可移植。" IP路由显示"可以在Linux上使用,但MacOS没有" IP"命令。
如果没有本机红宝石方法,其他便携式方法也可以接受。
我不相信Socket
可以向您提供所需的数据,但是您可以在MacOS上使用netstat
,并在命令之间进行平台检测:
def gateway
case Gem::Platform.local.os
when "darwin" then `netstat -rn -f inet | grep 'default' | awk '{print $2}'`
else `ip route | awk '/default/{print $3}'`
end.chomp
end