这是标准的Linux ifconfig命令
user@linux:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:00:00:00:00:10
inet addr:192.168.1.1 Bcast:192.168.56.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:112 errors:0 dropped:0 overruns:0 frame:0
TX packets:93 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:14616 (14.2 KiB) TX bytes:17776 (17.3 KiB)
eth1 Link encap:Ethernet HWaddr 00:00:00:00:00:11
inet addr:10.0.1.1 Bcast:10.0.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
user@linux:~$
这是仅从ifconfig打印IP地址
user@linux:~$ cat script.sh
ifconfig | grep ad.*Bc | cut -d: -f2 | awk '{ print $1}'
user@linux:~$
输出看起来像这样
user@linux:~$ ./script.sh
192.168.1.1
10.0.1.1
user@linux:~$
我想要完成的是在一行打印IP地址的输出......就像这样。
user@linux:~$ ./script2.sh
192.168.1.1 10.0.1.1
user@linux:~$
ifconfig可以吗?如果是的话,如果你能分享这个技巧,我将不胜感激。感谢
答案 0 :(得分:1)
如果您有hostname
,
hostname -I
<强>测试强>
$ hostname -I
192.168.2.253 192.168.0.179
答案 1 :(得分:1)
class Lease(models.Model):
leaserholder = models.CharField(max_length=300)
您的代码几乎可以正常运行。只需将换行符转换为空格并添加更多换行符。
答案 2 :(得分:0)
ifconfig | awk '{match($0,/inet addr:([^ ]+)/,a);x=x FS a[1]}END {print x} '
142.133.152.191 127.0.0.1
或使用grep
:
ifconfig | grep -oP 'inet addr:\K[^ ]+' | xargs
142.133.152.191 127.0.0.1