#!/usr/bin/env bash unlimit() { tc qdisc del dev lo root } limit() { if [ "$1" = "5Mbps" ]; then tc qdisc del dev lo root tc qdisc add dev lo handle 1: root htb default 11 tc class add dev lo parent 1:1 classid 1:11 htb rate 5000kbit tc qdisc add dev lo parent 1:11 handle 10: netem delay 38ms loss 0.09% elif [ "$1" = "10Mbps" ]; then tc qdisc del dev lo root tc qdisc add dev lo handle 1: root htb default 11 tc class add dev lo parent 1:1 classid 1:11 htb rate 10000kbit tc qdisc add dev lo parent 1:11 handle 10: netem delay 32ms loss 0.09% elif [ "$1" = "20Mbps" ]; then tc qdisc del dev lo root tc qdisc add dev lo handle 1: root htb default 11 tc class add dev lo parent 1:1 classid 1:11 htb rate 20000kbit tc qdisc add dev lo parent 1:11 handle 10: netem delay 25ms loss 0.09% else echo -e >&2 "\x1B[31;1merror:\x1B[0m preset $1 not found" exit 1 fi } if [ $# -eq 0 ]; then echo -e >&2 "\x1B[31;1merror:\x1B[0m expecting command" exit 1 else "$@" fi