Skip to content

Instantly share code, notes, and snippets.

@dan82840
Last active December 22, 2017 05:50
Show Gist options
  • Select an option

  • Save dan82840/e7074152cd0e38bde46100e79e009d1c to your computer and use it in GitHub Desktop.

Select an option

Save dan82840/e7074152cd0e38bde46100e79e009d1c to your computer and use it in GitHub Desktop.
#!/bin/sh
#
# test-uci-set-commit.sh [config name] [number of entry]
#
usage() {
echo "test-uci-set-commit.sh [config name] [number of entry]"
}
# $1: argc
chk_usage() {
if [ $1 -ne 2 ]; then
usage
exit 1
fi
}
run_uci_set_commit() {
local cname=$1
local v=$2
uci batch -q << EOF
add $cname entry
set $cname.@entry[-1].devicePriority=$v
set $cname.@entry[-1].oldpriority='0'
set $cname.@entry[-1].deadline='0'
set $cname.@entry[-1].time_left='0'
set $cname.@entry[-1].permission='0'
set $cname.@entry[-1].traffic='0'
set $cname.@entry[-1].upstream_bw='0'
set $cname.@entry[-1].downstream_bw='0'
set $cname.@entry[-1].deviceIP='0.0.0.0'
set $cname.@entry[-1].deviceName='daniel-PC'
set $cname.@entry[-1].deviceVendor='Unknown'
set $cname.@entry[-1].deviceOS='Unknown'
set $cname.@entry[-1].online='0'
set $cname.@entry[-1].up_time_stamp='0'
set $cname.@entry[-1].deviceType='Unknown'
set $cname.@entry[-1].from=$v
EOF
uci commit $cname
}
# $1: argc
# $2: config name
main() {
local argc=$1
local cname=$2
local num=$3
local n=$(($num))
chk_usage $argc
rm -f /etc/config/$cname
touch /etc/config/$cname
for i in $(seq 1 $n); do
run_uci_set_commit $cname $i
done
uci show $cname | grep '=entry' | wc -l
}
main $# $*
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment