如何抑制/删除cURL命令的所有输出(ruby)

时间:2016-06-28 15:35:42

标签: ruby curl output stdout silent

我有:

info = `curl -s http://www.{insertwebsitehere}.com`

接下来是一些更多的参数,我想要压制打印到终端的所有内容。我知道-s摆脱了进度条但我无法弄清楚如何完全删除cURL命令的所有输出。

在程序执行期间,该命令会多次运行,并且输出会产生混乱。

根据我的理解,没有任何论据可以删除所有内容,我必须重定向它,我无法弄清楚如何。

我已尝试在其末尾添加> /dev/null/,但它给了我错误

任何想法?

感谢

2 个答案:

答案 0 :(得分:0)

/dev/null

的末尾删除info = `curl -s http://www.{insertwebsitehere}.com > /dev/null`
info

但是这会将{{1}}设置为空字符串 我认为这不是你想要的。

答案 1 :(得分:0)

您可以通过添加2>/dev/null

来抑制stderr
info = `curl -s http://www.{insertwebsitehere}.com 2>/dev/null`

但更好的方法是使用一些http库并获取您的页面,而无需在shell中启动其他进程。例如,有curb - 用于ruby的libcurl绑定