![局域网是否已连接?](https://linux22.com/image/1266617/%E5%B1%80%E5%9F%9F%E7%BD%91%E6%98%AF%E5%90%A6%E5%B7%B2%E8%BF%9E%E6%8E%A5%EF%BC%9F.png)
我想写一个脚本,然后把它放进/etc/rc.local
去
如果局域网已连接,则
rfkill block all
别的
nmcli con up id 'Network id' --nowait
我应该如何写该if
部分以及如何检查“局域网已连接”?
答案1
如果 LAN 已启动,则您将拥有默认路由;否则,您不应该拥有默认路由。因此,我不会检查特定接口,而是只检查默认路由。
我没有 Linux 机器可以进行测试,因此无法判断 ip(8) 给出了什么,但是当没有路由时,route(8) 的错误退出代码相当差,因此我只需要依赖 grep 的退出代码 - 如果有一个 interface: 行,那么你就有一个 LAN。
function have_lan() {
route -n get default | fgrep -q interface:
}