Moo*_*ose 2 linux shell curl if-statement
我在 Linux 中运行一个返回 200 的 cURL 命令。
curl -sL -w "%{http_code}" "http://google.com" -o /dev/null
Run Code Online (Sandbox Code Playgroud)
但是,如果我像下面一样运行,我会得到“失败”作为输出:
if [ "curl -sL -w "%{http_code}" "http://google.com" -o /dev/null" == "200" ]; then echo "Success"; else echo "Fail"; fi
Run Code Online (Sandbox Code Playgroud)
请让我知道这里有什么问题?
您没有正确使用命令替换。改写成这样:
if [ "$(curl -sL -w '%{http_code}' http://google.com -o /dev/null)" = "200" ]; then
echo "Success"
else
echo "Fail"
fi
Run Code Online (Sandbox Code Playgroud)
正如查尔斯所建议的,--fail只要您正在寻找成功或失败,您就可以使用选项进一步简化此操作:
if curl -sL --fail http://google.com -o /dev/null; then
echo "Success"
else
echo "Fail"
fi
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3869 次 |
| 最近记录: |