Shell 脚本:自动检测网络连接和速度

本脚本使用 Shell 语言编写,可以自动检测网络连接以及网络速度。

代码示例

#!/bin/bash

# 检测网络连接
function check_network_connection() {
    ping -c 1 www.google.com > /dev/null 2>&1
    if [ $? -eq 0 ]; then
        echo '网络连接正常'
    else
        echo '网络连接失败'
    fi
}

# 检测网络速度
function check_network_speed() {
    speedtest-cli --simple > speedtest.txt
    if [ $? -eq 0 ]; then
        download_speed=$(cat speedtest.txt | grep 'Download:' | awk '{print $2}')
        upload_speed=$(cat speedtest.txt | grep 'Upload:' | awk '{print $2}')
        echo '下载速度:'$download_speed
        echo '上传速度:'$upload_speed
    else
        echo '无法测试网络速度'
    fi
    rm -f speedtest.txt
}

# 主菜单
function main_menu() {
    echo '请选择要执行的操作:'
    echo '1. 检测网络连接'
    echo '2. 检测网络速度'
    echo '3. 退出脚本'
    read choice

    case $choice in
        1) check_network_connection;;
        2) check_network_speed;;
        3) exit;;
        *) echo '无效的选择';;
    esac
}

# 执行主菜单
main_menu

代码解释

  1. check_network_connection 函数

    • 使用 ping 命令检测网络连接,-c 1 参数指定只发送一个数据包。
    • 如果 ping 命令成功执行,则 $? 的值为 0,表示网络连接正常,否则表示连接失败。
  2. check_network_speed 函数

    • 使用 speedtest-cli 工具测试网络速度,--simple 参数指定只显示简单结果。
    • 将结果保存到 speedtest.txt 文件中。
    • speedtest.txt 文件中提取下载速度和上传速度,并打印出来。
  3. main_menu 函数

    • 提供了三个选项:检测网络连接、检测网络速度和退出脚本。
    • 用户根据自己的需求选择相应的操作。

使用说明

  1. 确保已经安装 pingspeedtest-cli 工具。
  2. 将代码保存为 network_check.sh 文件。
  3. 运行脚本:bash network_check.sh

其他

  • 可以根据需要修改 www.google.com 为其他网站地址。
  • 可以修改 speedtest-cli 的参数,以获取更多测试结果。
  • 可以根据自己的需求添加其他功能,例如记录测试结果等。
Shell 脚本:自动检测网络连接和速度

原文地址: https://www.cveoy.top/t/topic/jOG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录