gpt4 book ai didi

json - Bash JSON 字符串到变量

转载 作者:太空狗 更新时间:2023-10-29 11:49:23 26 4
gpt4 key购买 nike

我的想法是将 json 字符串放入变量 JSON,我有一个命令在 AWS IAM 中使用控制台登录用户,命令是:aws iam create-login-profile --cli-input-json file://create-login-profile.json

create-login-profile.json 中的 json 内容如下:

{
"UserName": "roberto.viquezzz",
"Password": "aaaaaaaaaaa",
"PasswordResetRequired": true}

我尝试编写包含 json var "JSON"的 bash 脚本,如下面的代码:

JSON="{\"UserName\": \"roberto.viquezzz\",\"Password\": \"aaaaaaaaaaa\",\"PasswordResetRequired\" : true}"
aws iam create-login-profile --cli-input-json $JSON

如果我在控制台中输入 ./file.sh 文件执行创建一个控制台用户。如果它尝试执行这段代码,我会得到一个错误:Unknown options: "aaaaaaaaaaa","PasswordResetRequired", :, true}, "roberto.viquezzz","Password":

但如果我从命令行执行此代码,例如:

aws iam create-login-profile --cli-input-json "{\"UserName\": \"roberto.viquezzz\",\"Password\": \"aaaaaaaaaaa\",\"PasswordResetRequired\": true}"

一切都很好,也许谁知道出了什么问题?请建议!

最佳答案

在 $JSON 周围加上引号:

aws iam create-login-profile --cli-input-json "$JSON"

赋值过程中的引号会被 shell 消耗掉。您可以通过发出 echo $JSON 来验证这一点。通过添加引号,您将确保将整个字符串作为单个参数传递给命令“aws”。

关于json - Bash JSON 字符串到变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46687810/

26 4 0
文章推荐: linux - 如何用另一个空格和字符替换空格
文章推荐: css - 如果设计有表类数据,如何判断哪些标记更易于访问? ,