2

我有一个我制作的 bash 脚本,当它在我的每台计算机上运行时,它会检测 CPU 内核的数量、HDD/分区、电池是否存在等,并生成一个 conkyrc 文件以使用样式显示该 PC 的相关信息我更喜欢在我的conky。但是,我很难确定 PC 是在有线还是无线互联网连接上。

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

4

1 回答 1

3

试试这个:

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"
于 2015-02-18T18:50:14.280 回答