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)
您还可以使用-f
参数:
(HTTP) 在服务器错误时静默失败(根本没有输出)。这样做主要是为了更好地启用脚本等以更好地处理失败的尝试。
所以:
curl -f -LI http://google.com
Run Code Online (Sandbox Code Playgroud)
如果调用成功,将返回状态 0。