2014-01-13 143 views
1

我使用curl命令获取IP地址,并且想将其保存为shell变量。从curl命令获取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。有什么想法吗?

回答

1

这样做:

IPADDR=$(curl ipinfo.io/ip 2>/dev/null) 

也就是说, “%总”, “接收%” 等印在标准错误。通过将stderr重定向到/dev/null,您可以摆脱那种噪音。

如果可能,请始终使用$(...)而不是`...`

3

卷曲提供了一个属性来操作 “静音”:-s

因此,你可以设置你的变量是这样的:

IPADDR=$(curl -s ipinfo.io/ip) 
相关问题