我正在使用curl命令获取IP地址,我想将其另存为shell变量。
我使用以下命令获取 IP 地址
curl ipinfo.io/ip
我这样分配变量:
IPADDR=`curl ipinfo.io/ip`
但是当我回应这一点时,我得到以下结果:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 14 100 14 0 0 41 0 --:--:-- --:--:-- --:--:-- 164
24.18.247.198
我想要的只是 24.18.247.198。有什么想法吗?
curl 提供了一个操作"静音"的属性:-s
因此,您可以通过以下方式设置变量:
IPADDR=$(curl -s ipinfo.io/ip)
这样做:
IPADDR=$(curl ipinfo.io/ip 2>/dev/null)
也就是说,"总计百分比"、"接收百分比"和其他内容打印在 stderr 上。通过将stdrr重定向到/dev/null
您可以摆脱这种噪音。
尽可能始终使用$(...)
而不是`...`
。