比较命令输出和字符串返回'命令未找到'

时间:2017-03-28 22:41:01

标签: bash operators

我有一个触发脚本的程序。该脚本在我手动运行时有效,但由于某种原因,程序运行时出现错误。如果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,并确保没有回车问题。我做错了什么?

0 个答案:

没有答案