将curl输出存储为bash变量时缺少输出

时间:2018-12-22 03:07:59

标签: bash curl

在将curl的输出存储到bash变量中时,我遇到一个奇怪的问题。

如果我进行以下卷曲

curl -i -s https://google.com

我得到以下输出:

HTTP/2 301
location: https://www.google.com/
content-type: text/html; charset=UTF-8
date: Sat, 22 Dec 2018 03:03:59 GMT
expires: Mon, 21 Jan 2019 03:03:59 GMT
cache-control: public, max-age=2592000
server: gws
content-length: 220
x-xss-protection: 1; mode=block
x-frame-options: SAMEORIGIN
alt-svc: quic=":443"; ma=2592000; v="44,43,39,35"

<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="https://www.google.com/">here</A>.
</BODY></HTML>

现在,如果我尝试将相同的查询存储到bash变量中

GOOGLE=$(curl -s -i https://google.com) echo $GOOGLE

我得到以下输出:

<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> <TITLE>301 Moved</TITLE></HEAD><BODY> <H1>301 Moved</H1> The document has moved <A HREF= </BODY></HTML>ogle.com/">here</A>.

这是正确的,但是卷曲输出的前半部分丢失了……有人知道输出的其余部分去了哪里吗?

1 个答案:

答案 0 :(得分:1)

重击细微差别-在回显时需要在变量周围添加双引号

echo "$GOOGLE"