从 CURL 值创建 Bash 脚本

问题描述 投票:0回答:1

我想问,只需使用这种条件从curl 创建简单的shell 脚本即可。但是当卷曲状态为真时,其他条件永远不会成功,我的错误是什么?任何建议将不胜感激。谢谢

#!/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条件的脚本。

bash shell logic
1个回答
0
投票

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

VARNAME=$(command)

$VARNAME 将包含命令的输出,通常是一个字符串。
您应该按如下方式检查您的脚本

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

if [[ "$code" !== "output-for-down" ]];
then
  echo "restart service"
else
  echo "service is up"
fi

如果您想检查curl返回代码,只需调用curl命令,那么您将在特殊的$? bash变量中看到curl返回代码

© www.soinside.com 2019 - 2024. All rights reserved.