Chinaunix

标题: 如何在脚本里获取网络接口号 [打印本页]

作者: apony    时间: 2007-09-19 14:46
固定的/etc/sysconfig/network(类似文件夹)有网络配置文件,动态的/proc/net/有实时ip信息,具体路径和文件名称因系统不同而不同。
作者: robotyan    时间: 2007-09-19 15:10
你说的我早试过了,我的是gentoo,/proc/net下面没有一个文件记录了ip和interface的对应,dev文件中有网络接口号,可是只有流量之类的,没有ip,我无法根据ip找interface
作者: robotyan    时间: 2007-09-19 15:14
而且关键是脚本如果去判断接口号,我当然可以通过ifconfig之类的看到,但是我不会用程序提取interface的名称
作者: apony    时间: 2007-09-19 16:27
line=$(expr $(ifconfig|grep "ip地址" -n|awk -F: '{print $1}') - 1 )
ifconfig|sed -n "$line p"|awk '{print $1}'

土办法,到bash版问问优化吧
作者: robotyan    时间: 2007-09-19 17:27
,谢谢啊!我试过了,很好使!
太感谢了!
作者: MMMIX    时间: 2007-09-19 18:40
原帖由 robotyan 于 2007-9-19 15:10 发表
你说的我早试过了,我的是gentoo,/proc/net下面没有一个文件记录了ip和interface的对应,dev文件中有网络接口号,可是只有流量之类的,没有ip,我无法根据ip找interface

这些在顶楼怎么不说呢? 还有你在使用 ifconfig 时碰到的问题.
作者: Yuri.G.    时间: 2007-09-19 21:31

  1. show_info(){
  2.         clear
  3.         n=1
  4.         for i in ${DEV};do
  5.                 MAC=`ifconfig|grep $i|awk -F " " '{print $5}'`
  6.                 IPADDR=`ip add sh $i| grep "inet "|awk -F " " '   {print $2}'`
  7.                 echo "${n} ${i} ${MAC} ${IPADDR}"
  8.                 n=`expr ${n} + 1 `
  9.         done
  10.         echo -n "Press any key to continue ..."
  11.         read -n 1
  12. }
复制代码

这是我程序里的一段,你参考一下,改改就能用了.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2