我有一个触发脚本的程序。该脚本在我手动运行时有效,但由于某种原因,程序运行时出现错误。如果curl命令在解析一些JSON后返回true
,则应该触发另一个命令。以下是相关部分:
if
$(curl -s -b cookie "https://my.site.com/api" | /config/jq --arg var "test" '.Items[] | .item1[] | select( .Name== $var ) | .Valid') = "true"
then
返回=: command not found
。我尝试从=
中删除空格,然后返回=true: command not found
。我试着在它周围加上括号:
if
[ $(curl -s -b cookie "https://my.site.com/api" | /config/jq --arg var "test" '.Items[] | .item1[] | select( .Name== $var ) | .Valid') = "true" ]
then
但这给了我一个与括号有关的错误。我在脚本的开头设置了#!/bin/bash
,并确保没有回车问题。我做错了什么?