#!/bin/sh list_ipset() { skip=1 while read -r line; do if [ "$line" = "Members:" ]; then skip=0; continue; fi; [ "$skip" = "1" ] && continue echo "$line" done } case "$1" in dhcp-leases) cat /tmp/dhcp.leases ;; ipset-add) addr="$3" addr="${addr/_/\/}" ipset add "$2" "$addr" ;; ipset-del) addr="$3" addr="${addr/_/\/}"s ipset del "$2" "$addr" ;; # ipset_list) # ipset list "$2" | list_ipset # ;; ipset-list-all) shift while [ -n "$1" ]; do echo ">$1" skip=1 ipset list "$1" | list_ipset shift done ;; # rule-show) # ;; # # route-show) # ;; *) 2>&1 echo "error: invalid command" exit 1 ;; esac