bash(与HTTPie一起)中使用了什么输出?
我正在尝试分析此命令:bash(与HTTPie一起)中使用了什么输出?,bash,httpie,Bash,Httpie,我正在尝试分析此命令: $ http :"/hello" HTTP/1.1 401 Unauthorized <headers> <body> 一切都消失了,所以我推断一切都是标准输出 但是如果我试图将其发送到文件或变量,我看不到初始部分。所以我认为这是stderr,所以我做了2>&1,但这也没有任何效果 我怎样才能理解这一点 谢谢您可以尝试使用选项“-v”和“-o”捕获文件中的标题和正文,如下所示: http -v -o output.file
$ http :"/hello"
HTTP/1.1 401 Unauthorized
<headers>
<body>
一切都消失了,所以我推断一切都是标准输出
但是如果我试图将其发送到文件或变量,我看不到初始部分。所以我认为这是stderr,所以我做了2>&1
,但这也没有任何效果
我怎样才能理解这一点
谢谢您可以尝试使用选项“-v”和“-o”捕获文件中的标题和正文,如下所示:
http -v -o output.file "google.com/bla"
正如@chepner在评论中提到的,一些工具检测stdout是否为文件,并更改它们的输出
编辑:要想按您的意愿最简单地工作(标准输出),您可以使用:
http -v -o /dev/stdout "google.com/bla"
HTTPie根据其是写入终端还是常规文件来改变其输出 从 重定向输出 HTTPie对重定向输出使用的默认设置与对重定向输出使用的默认设置不同 终端输出。区别在于: 不应用格式和颜色(除非指定了
--pretty
)。
仅打印响应正文(除非其中一个输出选项为
设置)。此外,二进制数据不会被抑制
[……]
有一些特定的命令行选项可用于覆盖默认值。什么是
http
?它可能会根据其标准输出是否为终端来更改其输出。它来自此工具:您是否尝试了VAR=$(http://hello”)
<代码>所以我做了2>&1请发布您尝试过的确切代码!您是否执行了VAR=$(…)2>&1
或VAR=$(…2>&1)
?请展示你所做的。我不明白这与解决我的问题有什么关系,你能详细说明一下吗?谢谢。这是一种很粗俗的做事方式!这个工具很糟糕。我将努力使它与-v一起工作。谢谢如果你问了一个关于特定工具的问题,那么假设你决定使用它。你可以使用替代品(wget,卷发),也许它们更适合你的需要。。。我希望我能。。。我被这个困住了。。
http -v -o /dev/stdout "google.com/bla"