找回密码
 骑士注册

QQ登录

微博登录

搜索
❏ 站外平台:

查看: 1048|回复: 3
收起左侧

[求助] linux shell脚本中获取本机ip地址

[复制链接]
qweasd 发表于 2017-07-31 13:24:45 | 显示全部楼层 |阅读模式
本人在用shell写一个通用脚本,其中有一个内容要获取本机的IP地址
ifconfig eth0 | grep "inet addr" | awk '{print $2}' | awk -F: '{print $2}'
可是要获取网卡的名称,因为不是所有的网卡名都是eth0,所以我写了一个命令获取到了网卡名付给了一个变量var,在使用ifconfig $var 时一直报错,怎么弄

只三言两语 发表于 2017-08-10 09:59:06 | 显示全部楼层
按你的说法试了一下,没什么问题,检查变量赋的值是否有问题吧

$ cat t.sh
#!/bin/bash
var='eth0'
ifconfig $var

$ ./t.sh
eth0      Link encap:以太网  硬件地址 28:d2:44:63:2c:3c  
          inet 地址:192.168.47.141  广播:192.168.47.255  掩码:255.255.255.0
          inet6 地址: fe80::2ad2:44ff:fe63:2c3c/64 Scopeink
          UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1
          接收数据包:109677 错误:0 丢弃:0 过载:0 帧数:0
          发送数据包:75021 错误:0 丢弃:0 过载:0 载波:0
          碰撞:0 发送队列长度:1000
          接收字节:133779226 (133.7 MB)  发送字节:9943240 (9.9 MB)
          中断:20 Memory:f1600000-f1620000

张熙熙 发表于 2017-08-12 01:48:19 | 显示全部楼层
按你的说法试了一下,没什么问题,检查变量赋的值是否有问题吧

$ cat t.sh
#!/bin/bash
var='eth0'
ifconfig $var

$ ./t.sh
eth0      Link encap:以太网  硬件地址 28:d2:44:63:2c:3c  
          inet 地址:192.168.47.141  广播:192.168.47.255  掩码:255.255.255.0
          inet6 地址: fe80::2ad2:44ff:fe63:2c3c/64 Scopeink
          UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1
          接收数据包:109677 错误:0 丢弃:0 过载:0 帧数:0
          发送数据包:75021 错误:0 丢弃:0 过载:0 载波:0
          碰撞:0 发送队列长度:1000
          接收字节:133779226 (133.7 MB)  发送字节:9943240 (9.9 MB)
          中断:20 Memory:f1600000-f1620000
膜拜

 楼主| qweasd 发表于 2017-09-12 17:01:05 | 显示全部楼层
按你的说法试了一下,没什么问题,检查变量赋的值是否有问题吧

$ cat t.sh
#!/bin/bash
var='eth0'
ifconfig $var

$ ./t.sh
eth0      Link encap:以太网  硬件地址 28:d2:44:63:2c:3c  
          inet 地址:192.168.47.141  广播:192.168.47.255  掩码:255.255.255.0
          inet6 地址: fe80::2ad2:44ff:fe63:2c3c/64 Scopeink
          UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1
          接收数据包:109677 错误:0 丢弃:0 过载:0 帧数:0
          发送数据包:75021 错误:0 丢弃:0 过载:0 载波:0
          碰撞:0 发送队列长度:1000
          接收字节:133779226 (133.7 MB)  发送字节:9943240 (9.9 MB)
          中断:20 Memory:f1600000-f1620000
我之后又重新是了一下,是sh文件本身的问题,如果命令是复制到文件里运行的话,就会报错,手动敲上去就没有问题,不知道为什么

您需要登录后才可以回帖 登录

本版积分规则

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

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。