在 Linux 环境中,我需要检测 RJ45 连接器与其 socket 的物理连接或断开状态。最好只使用 BASH 脚本。
其他网站上提出的以下解决方案不适用于此目的:
难道没有一些状态可以在/proc 文件系统中使用(其他的都在里面)吗?
Linux 世界如何假设他们自己版本的 Windows 气泡会从图标托盘中弹出,表明您刚刚拔掉了网络电缆?
Kent Fredric 和 lothar,您的两个答案都满足了我的需求……非常感谢!我会用哪一个……我还是不知道。
我想我不能把你们两个都当作正确答案?我确实选择了一个,这对你来说可能是公平的。我猜掷硬币?再次感谢!
最佳答案
你要查看节点
/sys/class/net/
I experimented with mine:
Wire Plugged in:
eth0/carrier:1
eth0/operstate:unknown
拆线:
eth0/carrier:0
eth0/operstate:down
再次插入电线:
eth0/carrier:1
eth0/operstate:up
小窍门:一次获取所有属性的简单方法:
grep "" eth0/*
这形成了一个很好的 key:value
对列表。
https://stackoverflow.com/questions/808560/