我制作了一个 bash 脚本,当在每台计算机上运行时,它会检测 CPU 核心数量、HDD/分区、电池是否存在等,并生成一个 conkyrc 文件来显示该 PC 的相关信息使用我喜欢的 conky 风格。然而,我很难确定电脑是使用有线还是无线互联网连接。
有人知道如何确定 bash 脚本的连接类型吗?
最佳答案
试试这个:
tail -n+3 /proc/net/wireless | grep -q . && echo "We are wireless"
详细信息
在硬连线系统上,/proc/net/wireless
的内容由两个标题行组成:
# cat /proc/net/wireless
Inter-| sta-| Quality | Discarded packets | Missed | WE
face | tus | link level noise | nwid crypt frag retry misc | beacon | 22
在具有事件无线接口(interface)的系统上,将有第三行显示有关该接口(interface)的数据。
上面的命令的工作原理如下
tail -n+3
命令用于删除 header 。grep -q .
命令测试无线接口(interface)处于事件状态时是否存在后续行。
替代方案
iwconfig
是一个从 /proc/net/wireless
读取信息的实用程序:
iwconfig 2>&1 | grep -q ESSID && echo "We are wireless"
关于bash - 确定连接是有线还是无线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28590874/