curl:如果状态为 200,如何返回 0?

1Z1*_*Z10 -3 linux bash shell curl

当响应状态为 200 时,如何返回 0?

现在我可以使用以下命令获取状态,例如 200:

curl -LI http://google.com -o /dev/null -w '%{http_code}\n' -s
Run Code Online (Sandbox Code Playgroud)

但是我需要做的是将这 200 转为 return 0。

我怎样才能做到这一点?

我尝试了以下命令,但没有返回:

if [$(curl -LI http://google.com -o /dev/null -w '%{http_code}\n' -s) == "200"]; then echo 0
Run Code Online (Sandbox Code Playgroud)

Jac*_*ack 12

看来您需要一些空格和fi. 这对我有用:

if [ $(curl -LI http://google.com -o /dev/null -w '%{http_code}\n' -s) == "200" ]; then echo 0; fi
Run Code Online (Sandbox Code Playgroud)


Dhe*_*rik 9

您还可以使用-f 参数

(HTTP) 在服务器错误时静默失败(根本没有输出)。这样做主要是为了更好地启用脚本等以更好地处理失败的尝试。

所以:

curl -f -LI http://google.com
Run Code Online (Sandbox Code Playgroud)

如果调用成功,将返回状态 0。