gpt4 book ai didi

Bash/JQ - 解析错误 : Expected separator between values at line 1, 第 63 列

转载 作者:行者123 更新时间:2023-11-29 09:50:55 33 4
gpt4 key购买 nike

我怀疑是 bash 脚本中的引用错误。

SECRET_VALUE_CMD="curl -s -L -H \"X-Vault-Token: $VAULT_TOKEN\" -X GET \"https://$VAULT_ADDR/v1/secret/$secret_path\""
SECRET_VALUE_RESPONSE=$(eval $SECRET_VALUE_CMD)
SECRET_VALUE=$(echo "$SECRET_VALUE_RESPONSE" | jq --raw-output '.data.value')

当我在我的脚本中执行它时,我将以下内容发送到 stderr:

parse error: Expected separator between values at line 1, column 63

$SECRET_VALUE 为空。

$SECRET_VALUE_RESPONSE 的一个例子是:

{"request_id":"XXXX-YYYY..,"lease_id":"","renewable":false,"lease_duration":nnnnnn,"data":{"value":"secret-value"},"wrap_info":null,"warnings":null,"auth":null}

我试过在 eval 和 echo 的参数周围添加转义引号,但似乎找不到有效的组合。任何帮助将不胜感激!

最佳答案

不要使用eval。您可以创建一个函数来执行 curl,例如:

get_secret_value() {
curl -s -L -H "X-Vault-Token: $VAULT_TOKEN" -X GET "https://$VAULT_ADDR/v1/secret/$secret_path"
}

secret_value=$(get_secret_value | jq --raw-output '.data.value')

关于Bash/JQ - 解析错误 : Expected separator between values at line 1, 第 63 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45066954/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com