Shell 脚本:自动检测网络连接和速度
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
代码解释
-
check_network_connection函数- 使用
ping命令检测网络连接,-c 1参数指定只发送一个数据包。 - 如果
ping命令成功执行,则 $? 的值为 0,表示网络连接正常,否则表示连接失败。
- 使用
-
check_network_speed函数- 使用
speedtest-cli工具测试网络速度,--simple参数指定只显示简单结果。 - 将结果保存到
speedtest.txt文件中。 - 从
speedtest.txt文件中提取下载速度和上传速度,并打印出来。
- 使用
-
main_menu函数- 提供了三个选项:检测网络连接、检测网络速度和退出脚本。
- 用户根据自己的需求选择相应的操作。
使用说明
- 确保已经安装
ping和speedtest-cli工具。 - 将代码保存为
network_check.sh文件。 - 运行脚本:
bash network_check.sh
其他
- 可以根据需要修改
www.google.com为其他网站地址。 - 可以修改
speedtest-cli的参数,以获取更多测试结果。 - 可以根据自己的需求添加其他功能,例如记录测试结果等。
原文地址: https://www.cveoy.top/t/topic/jOG 著作权归作者所有。请勿转载和采集!