shell 获取公网 IP
命令
curl -s http://www.net.cn/static/customercare/yourip.asp |grep -P -o "[0-9.]+(?=</h2>)"
压缩网址 302 跳转需要调整curl的参数 (但是网址压缩可能失效导致命令不能用)
curl -L -s https://shorturl.at/hiqyE |grep -P -o "[0-9.]+(?=</h2>)"
解释
curl
- -s 隐藏下载进度
- -L 兼容 302 跳转
grep
- -P 开启断言模式
- -o 只显示匹配部分,不显示匹配到的整行
啰嗦版本(一般用不上,除非grep太旧了不支持断言模式)
curl -s http://www.net.cn/static/customercare/yourip.asp |grep "</h2>" |cut -f2 -d '>' |cut -f1 -d '<'