-rwxr-xr-x | bin/NS2SetMac.sh | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/bin/NS2SetMac.sh b/bin/NS2SetMac.sh index 51810ae..e6111c7 100755 --- a/bin/NS2SetMac.sh +++ b/bin/NS2SetMac.sh @@ -1,22 +1,34 @@ -# store/set MAC address for given interface +# this script is part of networksettings2 package +# purpose : set fixed MAC address for network devices that +# have random addresses (like usb) +# + NS2MacStore=/etc/NS2 [ ! -d ${NS2MacStore} ] && mkdir ${NS2MacStore} if [ -z "$1" ] -then +then exit 0 fi -if [ -f ${NS2MacStore}/$1.mac ] +if [ -f ${NS2MacStore}/$1.mac ] then # set this mac - /sbin/ifconfig $1 hw ether `cat ${NS2MacStore}/$1.mac` + X=`cat ${NS2MacStore}/$1.mac` + if [ ! -z "$X" ] + then + /sbin/ifconfig $1 hw ether $X + fi else # remember current mac for all times X=`/sbin/ifconfig $1 | grep HWaddr` X=${X#*HWaddr } # strip till HWaddr X=${X%% *} # remove trailing spaces - echo ${X} > ${NS2MacStore}/$1.mac + if [ ! -z "$X" ] + then + # valid mac address + echo ${X} > ${NS2MacStore}/$1.mac + fi fi exit 0 |