LinuxSir.cn,穿越时空的Linuxsir!

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

菜鸟 详见内容 谢谢

[复制链接]
发表于 2007-11-1 15:17:33 | 显示全部楼层 |阅读模式
我想读取 ifconfig 后 eth0 信息中的 MAC 和 IP  
用shell怎样实现
刚开始学 希望附上解释 谢谢大家  不慎感激
发表于 2007-11-1 17:46:29 | 显示全部楼层

  1. ifconfig |awk 'BEGIN{RS="\n\n"}/eth0/{gsub(/.*:/,"",$7);printf"hw: %s\nip: %s\n", $5,$7}'

复制代码
回复 支持 反对

使用道具 举报

发表于 2007-11-1 18:30:41 | 显示全部楼层
  1. ifconfig eth0 | awk '/HWaddr/{print $5}/inet/{sub("addr:","",$2);print $2}'
复制代码
第一行是MAC,第二行是IP
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-2 17:38:06 | 显示全部楼层
谢谢咯
不过要是想把读取出来的值 赋给其他变量 要怎么改
我改了半边没成功 :-(
回复 支持 反对

使用道具 举报

发表于 2007-11-2 19:11:21 | 显示全部楼层
[/code]
read MAC IP <<<$( ifconfig eth0 | awk '/HWaddr/{print 5}/inet/{sub("addr:","",$2);print $2}')
echo $MAC
echo $IP
[/code]
回复 支持 反对

使用道具 举报

发表于 2007-11-8 08:58:33 | 显示全部楼层
yh@yhh2:~$ ifconfig |awk 'BEGIN{RS="\n\n"}/eth0/{gsub(/.*:/,"",$7);printf"hw: %s\nip: %s\n", $5,$7}'
hw: inet
ip: 192.168.34.255
yh@yhh2:~$ ifconfig eth0 | awk '/HWaddr/{print $5}/inet/{sub("addr:","",$2);print $2}'
地址:192.168.34.51
地址:

所以要是这么搞的话最好在前面加上LANG=en

或者这样也不错:
{ read mac;mac="${mac##* }";read ip;ip="${ip#*:}";ip="${ip%% *}";} <<<"`ifconfig eth0`"
echo "$ip $mac"
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-9 10:53:45 | 显示全部楼层
谢谢各位大师^_^
回复 支持 反对

使用道具 举报

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

本版积分规则

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