匹配的关键是正则表达式。工具可以考虑 grep 或者 sed。 方案1:借助 grep:ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1' 方案2:借助 sed:ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p' 注:sed 的 -E 选项依赖于具体的 sed 版本。如果 -E 无效,请使用 -r 替代。 另外,可以通过 ifconfig 指定要显示的的 interface。ifconfig eth0 | ... 我在具体实践时,使用了方案2 并指定了 interface。SERVER_IP=$(/sbin/ifconfig eth0 | sed -nr 's/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p') 参见:SO
shell 截取ip地址最后一位_Shell 命令:如何从 ifconfig 输出结果中截取 IP 地址
最新推荐文章于 2024-05-31 15:56:26 发布