我想问,只是创建简单的shell脚本从curl与此条件。但当curl状态为真的其他条件是永远不会成功,什么是我的misatake?任何建议将不胜感激。谢谢
#!/bin/bash
code=$(curl -sX GET "http://10.243.215.143:8088/healthcheck")
if [[ $code != true ]];
then
echo "restart service"
else
echo "service is up"
fi
字符串
curl result
我的期望是curl状态都true脚本运行else条件。
1条答案
按热度按时间dwthyt8l1#
您正在使用命令替换,结果不能是布尔值。当您使用格式
字符串
$VARNAME将包含命令的输出,通常是字符串。
此外,您将接收json格式的输出,因此必须从json中提取特定字段,我猜是“isHealthy”。
型
另一方面,如果你想检查curl返回代码,只需调用curl命令,那么你将在特殊的**$?**bash变量中获得curl返回代码。