通过shell监控网络连接

通过shell监控网络连接

我只需要在有网络连接时运行 shell 脚本。是否可以通过 shell 脚本查看网络连接的可用性?

ping google.com是让它工作的简单命令。但我该如何观看它呢?

答案1

我想你可能只是在寻找

ping -c1 -W1 google.com >/dev/null && command

command仅当 ping 成功时才会执行。

答案2

如果观看意味着查看传输速度,我有两个解决方案。

接口速度(wifi、以太网)

ifstat -S

个人转接/连接的速度

sudo iftop

答案3

你可以做这样的事情

#!/bin/bash

while [ 1 ]; do
   TEST=$(nmcli -f STATE dev status | awk '/connected/ {print 1}')
    if [ $TEST ]; then
      # place whatever you wanna do here if connection is available
    fi
sleep 0.25
done

nmclidev status显示网络接口状态的命令。因此,我们仅使用-f STATUS格式标志检查输出的状态列。如果我们有连接,无论是以太网还是 wifi,我们都将 TEST 变量设置为 1 ,表示 true。接下来是if . . then . . .fi语句,它实际上执行了该任务。

相关内容