哪位linux高手帮忙写一个linux的shell脚本~是关于查看修改网卡配置文件的。不胜感激~

我就把要求写的详细一点了,呵呵。linux的shell脚本:运行脚本以后,首先,自动列出所有机器的网卡配置,全部罗列出来,不是ifconfig-a那样全部都要,只要取网卡... 我就把要求写的详细一点了,呵呵。linux的shell脚本:
运行脚本以后,首先,自动列出所有机器的网卡配置,全部罗列出来,不是ifconfig -a那样全部都要,只要取网卡名称,(比如eth0,eth1这样的),还要取网卡的ip地址,mac地址,子网掩码,和看他是否running,还有mtu,只要这几样,其他不要。然后询问用户选择哪个网卡,可以写成数字取代,比如用户输入0,选择下面要操作的就是eth0,输入1,选择下面要操作的就是eth1,如果输入的不是数字,输入错误了就循环问用户要选择操作哪个网卡。然后用户选择完要操作的网卡之后就是询问用户是要起这个网卡还是不起这个网卡,意思就是up还是down这个网卡,可以用y/n来询问用户,用户如果选择n(不起这个网卡),就关掉这个网卡,然后询问用户是否要重启网络服务(service network restart),也是要求用户输入y/n,然后结束exit,如果用户选择起这个网卡,就继续到询问用户是否选择dhcp,也是用y/n询问,如果用户选择y,然后就也是询问用户是否重启网络服务,要求用户输入y/n,然后结束exit,如果用户在询问是否dhcp时候输入了n,就要求用户输入静态ip地址,子网掩码,然后用户输入好了以后再把输入的静态ip地址和子网掩码罗列出来,问用户是否确定y/n,如果输入不确定n,就重新输入,如果用户输入确定y,就询问用户是否重启网络服务,跟上面的2种情况一样,也是输入y/n,然后exit。
我这样说,linux shell脚本高手们可以明白吗?虽然说的长,但是好像还蛮简单的,只是本人不太会写,呵呵,帮忙下,不胜感激~
展开
 我来答
714egcyvn
2011-07-21 · TA获得超过5330个赞
知道大有可为答主
回答量:4579
采纳率:40%
帮助的人:2559万
展开全部
#vi config.sh
ifconfig
echo "Please input:0/1/2"
read dir
case $dir in
0)
echo -n "Please enter new ip for eth0:"
read ip0
echo -n "Please enter netmask for eth0:"
read mask0
ifconfig eth0 $ip0 netmask $mask0
service network restart;;
1)
echo -n "Please enter new ip for eth1:"
read ip1
echo -n "Please enter netmask for eth1:"
read mask1
ifconfig eth1 $ip1 netmask $mask1
service network restart;;
2)
echo -n "Please enter new ip for eth2:"
read ip2
echo -n "Please enter netmask for eth2:"
read mask2
ifconfig eth2 $ip2 netmask $mask2
service network restart;;
*)
echo "you can only input 0,1,2";;
esac
# chmod +x config.sh
# ./config.sh
Please input:0/1/2
0
Please enter new ip for eth0:10.254.197.10
Please enter netmask for eth0:255.255.252.0
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0:
Determining IP information for eth0... done.
[ OK ]
================================================
以上是我运行的结果,但我只有一个网卡,所以只是测了eth0. 还没有做错误处理,所以ip和netmask一定要输入对了才好用。
追问
这个不对哦,不完整哦,而且重启网卡服务以后地址就又回来了,要修改/etc/sysconfig/network-scripts/里面的配置文件才行```
笨自己
2011-07-22 · TA获得超过288个赞
知道小有建树答主
回答量:278
采纳率:0%
帮助的人:216万
展开全部
写了一部分,实在是不想写了。20分不安逸得:
declare -a array ;array=(`ifconfig | grep encap | awk -F " " '{ print $1 }'`); echo "You have ${#array[@]} network card" ;echo "Network card list:"; for var in ${array[@]}; do echo $var; done; echo "Display the configure of Networkcard?(y/n)" ; read dpc; if [ $dpc == "y" ]; then echo "Please choice which interface you want to display:"; echo "0::all";numc=1 ;for chin in ${array[@]} ; do echo "$numc::$chin" ; numc=$[numc+1] ; done ;echo "You Input is:" ;read choice;if [ $choice -gt ${#array[@]} ] ; then echo "You Input Error"; sleep 10; fi; if [ $choice -eq 0 ] ; then for ethvar in ${array[@]}; do ifconfig $ethvar; done ; else ifconfig ${array[$choice-1]} ;fi;fi;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cnf1980
2011-07-20 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.2万
采纳率:54%
帮助的人:2631万
展开全部
都说得这么详细了,为什么不自己动手写一个呢。
追问
就是不会写哦...- -0,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿弥陀佛被注册
2011-07-21 · TA获得超过125个赞
知道答主
回答量:110
采纳率:0%
帮助的人:90.8万
展开全部
这个跟 setup 下的网络工具相差不大吧~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式