shell 从CURL值创建Bash脚本

fsi0uk1n  于 6个月前  发布在  Shell
关注(0)|答案(1)|浏览(62)

我想问,只是创建简单的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条件。

dwthyt8l

dwthyt8l1#

您正在使用命令替换,结果不能是布尔值。当您使用格式

VARNAME=$(command)

字符串
$VARNAME将包含命令的输出,通常是字符串。
此外,您将接收json格式的输出,因此必须从json中提取特定字段,我猜是“isHealthy”。

#!/bin/bash
code=$(curl -sX GET "http://10.243.215.143:8088/healthcheck" | jq ".isHealthy")

if [[ "$code" != "true" ]];
then
  echo "restart service"
else
  echo "service is up"
fi


另一方面,如果你想检查curl返回代码,只需调用curl命令,那么你将在特殊的**$?**bash变量中获得curl返回代码。

相关问题