一般情况下:我们在使用Linux的时候想要查看自己的IPv4地址的时候我们经常会使用到的一个命令就是ifconfig,但是这个命令所给我们的信息实在是太多了,比如下面这张图片:
而我们需要的就仅仅是第二行inet后面的字符串而已那,那就让我们自己写一个简单的shell脚本,让这个脚本帮我们将多余的信息给过滤掉,在运行这个脚本的时候只会显示我们所需要的IPv4的地址。
代码
find_ip.sh:
#!/bin/bash
ifconfig $1 |
grep 'inet ' |
sed 's/^.*inet //g' |
sed 's/ netmask.*$//g'
运行结果
我们可以看到IP地址已经显示出来了,值得注意的是,在运行脚本的时候需要提供网卡作为参数,那我们可不可以在此基础上进行改进从而不需要指定网卡设备也可以显示本机的IP地址呢?
改进后的代码
find_ip.sh:
#!/bin/bash
network_card=$(ifconfig | cut -d ' ' -f 1)
network_card=$(echo $network_card | cut -d ':' -f 1)
#echo $network_card
ifconfig $network_card |
grep 'inet ' |
sed 's/^.*inet //g' |
sed 's/ netmask.*$//g'
改进后的代码运行结果
我们可以看到在运行脚本的时候,不用我们亲自设定指定网卡作为参数就可以直接显示出IP地址了。
版权声明:本文为qq_28835275原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。