我的想法是将jsonstring放入variablesJSON中,我有一个命令,它将控制台login到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
如果我input控制台./file.sh文件执行创build一个控制台用户。 如果它尝试执行此代码,我得到一个错误: Unknown options: "aaaaaaaaaaa","PasswordResetRequired", :, true}, "roberto.viquezzz","Password":
但如果我从命令行执行此代码,如:
aws iam create-login-profile --cli-input-json "{\"UserName\": \"roberto.viquezzz\",\"Password\": \"aaaaaaaaaaa\",\"PasswordResetRequired\": true}"
一切都会好的,也许谁知道什么是错的? 请build议!
把引号放在$ JSON的周围:
aws iam create-login-profile --cli-input-json "$JSON"
分配过程中出现的引号被shell使用。 您可以通过发出echo $JSON
来验证。 通过添加引号,您将确保整个字符串作为单个参数传递给命令“aws”。