在日常开发中,有时候需要使用shell脚本获取当前服务器ip的最后一位值,这时候可以使用如下方法获取
1、首先获取到当前服务器的完整ip地址
ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"
2、然后截取,取最后一位
ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"|cut -d'.' -f4
这样就得到了最后一位的值。
3、如果涉及到多网卡,使用上述命令之后,可能会有两个及以上ip的数值,例如在第一步执行后展示的是形如:
10.112.110.25
10.230.111.10
那么我们就需要根据自己的实际需要进行筛选了,比如需要的ip是10.112.110.25,那么就需要在第一步的脚本中剔除掉10.230.111.10,最终的脚本如下
ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v 10.230|grep -v inet6|awk '{print $2}'|tr -d "addr:"|cut -d'.' -f4
上述脚本执行后就展示的是25这个数值
4、如果这个值需要作为变量给其他地方使用,可以如下操作
#定义变量
ipCut=$(ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v 10.230|grep -v inet6|awk '{print $2}'|tr -d "addr:"|cut -d'.' -f4)
然后其他地方${ipCut}
进行引用即可。