确定连接是有线连接还是无线连接?

时间:2015-02-18 18:14:22

标签: bash conky

我有一个bash脚本,当我在每台计算机上运行时,检测CPU核心数,HDD /分区数,电池是否存在等,并生成一个conkyrc文件以显示该PC的相关信息使用我喜欢的风格。我很难确定PC是否在有线或无线互联网连接上。

有没有人知道用bash脚本确定连接类型的方法?

1 个答案:

答案 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"