aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xtools/nmcli-manage.sh24
1 files changed, 17 insertions, 7 deletions
diff --git a/tools/nmcli-manage.sh b/tools/nmcli-manage.sh
index 3d94e6e..1715262 100755
--- a/tools/nmcli-manage.sh
+++ b/tools/nmcli-manage.sh
@@ -10,27 +10,37 @@
NMCONF=/etc/NetworkManager/NetworkManager.conf
progname=`basename $0`
-usage() {
- echo "usage: $progname set|unset|restart <interface>"
+usage_exit() {
+ echo "usage: $progname <action> <interface>"
+ echo
+ echo "actions:"
+ echo "status # Default action"
+ echo "manage <interface>"
+ echo "unmanage <interface>"
+ echo "restart"
exit 1
}
-if [ $# -eq 2 ]; then
- action=$1
+iface_status() {
iface=$2
mac=`ifconfig -a |grep -A5 $iface |grep ether |head -n1 |awk '{print $2}'`
echo "Corresponding MAC : $mac"
[[ $mac = "" ]] && echo "empty MAC !" && exit 1
grep "mac:$mac" $NMCONF >/dev/null
unmanaged=$?
-fi
+}
+
+[ X"$1" = X"-h" ] && usage_exit
+action=$1
case $action in
-s|m|manage|set)
+m|manage)
+ iface_status $@
[[ $unmanaged -ne 0 ]] && echo "Already managed" && exit 1
sudo sed -i s/"mac:fe:ff:ff:ff:ff:ff"// $NMCONF
;;
-u|unmanage|unset)
+u|unmanage)
+ iface_status $@
[[ $unmanaged -eq 0 ]] && echo "Already unmanaged" && exit 1
sudo sed -i s/"\(unmanaged-devices=\)"/"\1mac:$mac;"/ $NMCONF
;;