卷曲& JFrog不允许变量用于参数

时间:2017-12-06 16:13:13

标签: curl artifactory jfrog-cli

我试图传递用户输入,例如" bash tesh.sh 60s"并使用下面的curl语句获取该输入并将其用于$ args1变量。

args1="$1"

results=$(curl -s -username:password https://URL/artifactory/api/search/aql -H "Content-Type: text/plain" -d 'items.find({"repo":{"$eq" : "generic-sgca"}}, {"created" : {"$before" : "$args1"}})' | jq -r '.results[].path'|sed 's=/api/storage==')

echo $results

但我的结果是:

parse error: Invalid numeric literal at line 1, column 7

当我期待正常的数据输出时。我的语法出了什么问题?

1 个答案:

答案 0 :(得分:1)

您正试图在不支持它的单引号字符串中插入一个参数(请参阅这个伟大的stackoverflow answer)。
您可以使用双引号字符串:

args1="$1"

results=$(curl -s -username:password https://URL/artifactory/api/search/aql -H "Content-Type: text/plain" -d "items.find({\"repo\":{\"$eq\" : \"generic-sgca\"}}, {\"created\" : {\"$before\" : \"$args1\"}})\" | jq -r '.results[].path'|sed 's=/api/storage==')

echo $results