LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 923|回复: 10

刚写的一个配置网卡的脚本

[复制链接]
发表于 2005-6-2 17:54:55 | 显示全部楼层 |阅读模式
刚写的一个Linux用的配置网卡的脚本,拿出来献丑,请各位多多指教。
超简单的一个东西,因为不会用循环所以只能这样,还有如何检测有几个网卡?


  1. #!/bin/sh
  2. LF=/var/nic.lock
  3. logo()
  4. {
  5. clear
  6. echo "+--------------------------------------+"
  7. echo "|      Net interface configre          |"
  8. echo "+--------------------------------------+"
  9. }

  10. interface()
  11. {
  12. logo
  13. echo Interface list
  14. echo eth0
  15. echo eth1
  16. echo eth2
  17. echo eth3
  18. echo -n Please select interface:
  19. read IN
  20. touch $LF
  21. echo "DEVICE=$IN" > $LF
  22. onboot
  23. }


  24. onboot()
  25. {
  26. logo
  27. echo -n "Do you want to start this connection at boot time?(y/N):"
  28. read ONBOOT
  29. case $ONBOOT in
  30. y)
  31. echo "ONBOOT=yes" >> $LF;;
  32. *)
  33. echo "ONBOOT=no" >> $LF;;
  34. esac
  35. dhcp
  36. }

  37. dhcp()
  38. {
  39. logo
  40. echo -n "Do you want to use DHCP gain ip address?(y/N):"
  41. read DHCP
  42. case $DHCP in
  43. y)echo "BOOTPROTO=dhcp" >>$LF
  44. com;;
  45. *)echo "BOOTPROTO=static" >>$LF
  46. ipaddr;;
  47. esac
  48. }

  49. com()
  50. {
  51. logo
  52. echo ___________________________________________
  53. cat $LF
  54. echo ___________________________________________
  55. echo -n "Accept these settings and adjust configuration files?(y/N):"
  56. read AC
  57. case $AC in
  58. y) cp /var/nic.lock /etc/sysconfig/network-scripts/ifcfg-$IN;;
  59. *) interface;;
  60. esac
  61. }

  62. ipaddr()
  63. {
  64. logo
  65. echo -n "Please Input Ip address(e.g.:192.168.1.3):"
  66. read IPADDR
  67. echo "IPADDR=$IPADDR" >> $LF
  68. netmask
  69. }


  70. netmask()
  71. {
  72. logo
  73. echo -n "Please Input NetMask(e.g.:255.255.255.0):"
  74. read NETMASK
  75. echo "NETMASK=$NETMASK" >>$LF
  76. gateway
  77. }


  78. gateway()
  79. {
  80. logo
  81. echo -n "Please Input Gateway address(e.g.:192.168.1.1):"
  82. read GATEWAY
  83. echo "GATEWAY=$GATEWAY" >>$LF
  84. com
  85. }

  86. interface
复制代码
 楼主| 发表于 2005-6-2 17:55:48 | 显示全部楼层
如何检测系统有几块网卡?
回复 支持 反对

使用道具 举报

发表于 2005-6-2 18:30:11 | 显示全部楼层
dmesg|grep -i eth
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-2 19:32:09 | 显示全部楼层
各位大哥有指教一下撒!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-3 11:43:40 | 显示全部楼层
Post by 寂寞烈火
dmesg|grep -i eth

不可以,结果不符合要求
回复 支持 反对

使用道具 举报

发表于 2005-6-3 14:13:28 | 显示全部楼层
lspci可以找到吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-4 07:20:12 | 显示全部楼层
可以看到网卡,但是我要得到有几个eth,是在shell中使用的,ifconfig -a可以看到所有,但是我不知道如何把eth0 eth1过滤出来.
回复 支持 反对

使用道具 举报

发表于 2005-6-20 20:29:59 | 显示全部楼层
ip link|grep "<"|sed -e "s/.: \(.*\):.*/\1/g"
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-20 21:21:26 | 显示全部楼层
[root@Genv ~]# ip link|grep "<"|sed -e "s/.: \(.*\):.*/\1/g"
lo
eth0
sit0
回复 支持 反对

使用道具 举报

发表于 2005-6-27 17:40:31 | 显示全部楼层
这样不是更好??
dmesg |grep ^eth[0-9]*
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表