Curl 卷发及;JFrog不允许参数的变量
我试图传递用户输入,如“bash tesh.sh 60s”,并让下面的curl语句获取该输入并将其用于$args1变量Curl 卷发及;JFrog不允许参数的变量,curl,artifactory,jfrog-cli,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="$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
当我期待正常的数据输出时。我的语法出了什么问题?您试图在不支持它的单引号字符串中插入一个参数(请参阅此伟大的stackoverflow)。
可以使用双引号字符串:
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