我有一个bash脚本,当我在每台计算机上运行时,检测CPU核心数,HDD /分区数,电池是否存在等,并生成一个conkyrc文件以显示该PC的相关信息使用我喜欢的风格。我很难确定PC是否在有线或无线互联网连接上。
有没有人知道用bash脚本确定连接类型的方法?
答案 0 :(得分:2)
试试这个:
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
在具有活动无线接口的系统上,将显示第三行显示有关该接口的数据。
以上命令的工作原理如下
tail -n+3
命令用于删除标头。
grep -q .
命令测试无线接口处于活动状态时是否存在后续行。
iwconfig
是一个从/proc/net/wireless
iwconfig 2>&1 | grep -q ESSID && echo "We are wireless"