在某些情况下,我们需要对指定网络接口指定延迟,以达到我们想要实验的效果延迟。
脚本如下:
#!/bin/bash
#
#初始化
tc qdisc del dev br-lan root
echo "1. 添加延迟规则 2. 删除延迟规则"
read -p "请选择操作:" choice
if [ "$choice" == "1" ]; then
read -p "请输入延迟值(单位:毫秒):" delay
# 检查输入是否为数字
if ! [[ "$delay" =~ ^[0-9]+$ ]]; then
echo "输入无效,请输入一个有效的数字。"
exit 1
fi
# 添加 netem 延迟规则
tc qdisc add dev br-lan root netem delay ${delay}ms
echo "延迟规则添加成功:${delay}ms"
elif [ "$choice" == "2" ]; then
read -p "请输入之前设置的延迟值(单位:毫秒):" delay
# 检查输入是否为数字
if ! [[ "$delay" =~ ^[0-9]+$ ]]; then
echo "输入无效,请输入一个有效的数字。"
exit 1
fi
# 删除 netem 延迟规则
tc qdisc del dev br-lan root netem delay ${delay}ms
echo "延迟规则删除成功:${delay}ms"
else
echo "选择无效,请输入1或2进行操作选择。"
exit 1
fi