- 論壇徽章:
- 1
|
最近頻繁往返于公司和家里,兩個地方的網(wǎng)絡(luò)設(shè)定完全不同,網(wǎng)關(guān)和地址都不一樣。換個地方就得手動改一次,不勝其擾。想起IBM的本本就提供一種軟件可以保存各地的網(wǎng)絡(luò)設(shè)定。換了地方只要選一下就行了,昨天下決心自己寫一個。不過最近工作忙,沒時間用c寫(老不寫了還要查資料)干脆用shell寫了一個,用起來也挺爽。發(fā)上來給大家看看嘻嘻
第一個文件storeip.sh,用來保存記錄的
- #!/bin/sh
- printf "Enter the Name :"
- read iplocal
- printf "Enter the IP:"
- read ip
- printf "Enter the netmask:"
- read mask
- printf "Enter the gateway:"
- read gate
- if [ ! -f ipdata ] ; then
- touch ipdata
- fi
- num=`wc -l ipdata | awk ' { printf "%s", $1=$1+1 } '`
- printf "$num\t$iplocal\t\t$ip\t$mask\t$gate\n" >;>; ipdata
復(fù)制代碼
第二個文件changeip.sh用來提供選擇并更改ip地址
- #!/bin/sh
- card=fxp0
- cat ipdata
- printf "Enter your selection :"
- read select
- ip=`awk '{ if ( $1 ~ sel ) { printf "%s", $3 ; } }' sel=$select ipdata`
- #cat seeds | awk '{ if ( $1 !~ sel ) { x=x+1 ; printf "%s\t%s\t\t%s\n",x ,$2 ,$3 ; } }' sel=$select >; seeds
- mask=`awk '{ if ( $1 ~ sel ) { printf "%s", $4 ; } }' sel=$select ipdata`
- gate=`awk '{ if ( $1 ~ sel ) { printf "%s", $5 ; } }' sel=$select ipdata`
- sudo ifconfig $card inet $ip netmask $mask up
- sudo route delete default
- sudo route add default $gate
復(fù)制代碼
出于安全原因,我們使用了sudo來執(zhí)行修改網(wǎng)絡(luò)設(shè)置的工作。這樣可以以普通用戶身分來修改網(wǎng)絡(luò)設(shè)置。ports里面有sudo。裝上以后在/usr/local/etc/里面有sudoers設(shè)置文件。把它改成例如可以允許wheel組用戶都可通過sudo執(zhí)行root命令。
最后一個,delip.sh刪除現(xiàn)存的設(shè)定
- #!/bin/sh
- cat ipdata
- printf "Enter your selection :"
- read select
- cat ipdata | awk '{ if ( $1 !~ sel ) { x=x+1 ; printf "%s\t%s\t\t%s\t%s\t%s\n",x ,$2 ,$3 ,$4 ,$5 ; } }' sel=$select >; ipdata
復(fù)制代碼
最后為了更加方便的使用這個腳本,我在gnome里添加了一個啟動器,選中為在終端中運行。這樣需要修改ip的時候,只要鼠標一點,輸入1或者2做個選擇,就能輕松的改變網(wǎng)絡(luò)設(shè)定了 :em11:
不過只限于把freebsd裝在本本上,東跑西顛的各位老兄哦 |
|