Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bash(与HTTPie一起)中使用了什么输出?_Bash_Httpie - Fatal编程技术网

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"