12/29/2006

待完成脚本

修改 IP 地址 sudo vi /etc/network/interfaces
...
auto eth1
iface eth1 inet static
address 192.168.2.18
netmask 255.255.255.0
gateway 192.168.2.1
wireless-essid TP-LINK
...

重啟網卡 使設置生效 sudo /etc/init.d/networking restart

修改 DNS sudo vi /etc/resolv.conf

以上工作,怎么用脚本实现呢?


#!/bin/bash
#############################
#Function: Auto change IP #
#Arch : Ubuntu,Debian #
#Created : 2006.12.28 #
#############################
usage(){
echo "USAGE: $0 "
}

if [ $# -gt 2 ] || [ $# -eq 0 ];then
usage
exit -1;
fi

if [[ $1 == 'spec' ]];then
if [ $# -lt 2 ];then
echo " No address specified!"
exit -1;
fi
else
if [ $# -eq 2 ];then
usage
exit 1;
fi
fi

mfile="/home/dev/tmp/interfaces"
mhome="192.168.2.18"
mout="192.168.1.18"
mode="$1"
case "$mode" in
home)
#cmd="perl -pi -e 's/(address\s+).*/\$1"$mhome"/ unless /^#/ ' $mfile"
cmd="sed -e 's/\(address \).*/\1"$home"/' $mfile"
echo $cmd
#eval $cmd
echo "Change to home mode ok."
;;
out)
#cmd="perl -pi -e 's/(address\s+).*/\$1"$mout"/ unless /^#/ ' $mfile"
cmd="sed -e 's/\(address \).*/\1"$out"/' $mfile"
echo $cmd
#eval $cmd
echo "Change to outside mode ok."
;;
spec)
#cmd="perl -pi -e 's/(address\s+).*/\$1"$mout"/ unless /^#/ ' $mfile"
cmd="sed -e 's/\(address \).*/\1$$2/' $mfile"
#eval $cmd
echo $cmd
echo "Change to specify mode ok."
;;
*)
echo " Not support mode specified!"
usage
;;
esac

没有评论: