分页: 1 / 2

[问题]请问如何得到本机ip地址?

发表于 : 2008-03-26 12:50
mgqw
我想得到本机IP地址作,用ifconfig命令显示的东西太多了,不适用,我只需要类似:192.168.0.120就行了,请问打下用什么命令??

发表于 : 2008-03-26 13:00
yaoms

代码: 全选

ifconfig eth1 | grep inet\ addr | awk '{print $2}' | awk -F: '{print $2}'

发表于 : 2008-03-26 14:05
bones7456
yaoms 写了:

代码: 全选

ifconfig eth1 | grep inet\ addr | awk '{print $2}' | awk -F: '{print $2}'
通用性不是很好,我这locale下就要改成

代码: 全选

ifconfig eth0 | grep inet\ 地址 | awk '{print $2}' | awk -F: '{print $2}'
才能工作.
期待更好的答案.

发表于 : 2008-03-26 14:12
yaoms
那就这样,哈哈:

代码: 全选

ifconfig | awk '/inet /{print $2}' | awk -F: '{print $2}' | grep -v '127.0.0.1'

这样更好:

代码: 全选

ifconfig | awk '{if ( $1 == "inet" && $3 ~ /^Bcast/) print $2}' | awk -F: '{print $2}'

发表于 : 2008-03-26 14:24
mgqw
谢谢各位大侠啊!

发表于 : 2008-03-26 14:34
qiang_liu8183
:D

发表于 : 2008-03-26 14:38
yaoms
还有一个:

代码: 全选

ip -f inet addr | grep global | awk '{print $2}' | awk -F/ '{print $1}'

发表于 : 2008-03-26 14:49
qiang_liu8183
:D

发表于 : 2008-03-26 15:04
mgqw
再次请教一个小问题:
我要把这个得到的IP地址赋给一个变量:my_ip,请问如何赋值。

小菜初学shell请多多指教 :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops:

发表于 : 2008-03-26 15:06
yaoms

代码: 全选

my_ip=`ip -f inet addr | grep global | awk '{print $2}' | awk -F/ '{print $1}'`
注意包含命令的那个不是单引号哦

还可以这样:

代码: 全选

my_ip=$(ip -f inet addr | grep global | awk '{print $2}' | awk -F/ '{print $1}')

发表于 : 2008-03-26 15:07
mgqw
我找到一个方法了,嘿嘿:
my_ip="$(ip -f inet addr | grep global | awk '{print $2}' | awk -F/ '{print $1}')"

echo "$my_ip"

得到变量值 嘿嘿。

发表于 : 2008-03-26 15:08
yaoms
:roll: :D

发表于 : 2008-03-26 15:32
mgqw
代码:

代码: 全选

my_ip=`ip -f inet addr | grep global | awk '{print $2}' | awk -F/ '{print $1}'`

注意包含命令的那个找了半天才找到,竟然是键盘上数字1左边那个,藏得好深那!

谢谢楼上的大侠,小菜我现在也在深圳,嘿嘿
:D :lol:

发表于 : 2008-03-26 15:56
dogfox
看你是什么拨号方式了,如果是pppoe

代码: 全选

ifconfig ppp
dhcp方式

代码: 全选

ifconfig eth0

发表于 : 2008-03-27 19:27
bones7456
yaoms