【发布时间】:2021-05-25 23:28:53
【问题描述】:
我有一个将用作命令的字符串。同样在运行该命令之前,我需要用变量值替换字符串模式..
但是在分配时,我得到的命令未找到所有输出行。
我已尝试放置转义字符但没有帮助。
role-command="aws sts assume-role --role-arn arn:aws:iam::<acct_id>:role/AWS-Role --role-session-name temp-aws-rolesession --output text --duration-seconds 3600 --query 'Credentials.[[join(`=`,[`AWS_ACCESS_KEY_ID`, AccessKeyId])],[join(`=`,[`AWS_SECRET_ACCESS_KEY`, SecretAccessKey])],[join(`=`,[`AWS_SESSION_TOKEN`, SessionToken])]]'"
bash: =: 找不到命令 bash:AWS_ACCESS_KEY_ID:找不到命令 bash: =: 找不到命令 bash:AWS_SECRET_ACCESS_KEY:找不到命令 bash: =: 找不到命令 bash:AWS_SESSION_TOKEN:找不到命令
bash: 角色命令=aws sts 假设角色 --role-arn arn:aws:iam::
我本来应该做 sed -i s/
我怎样才能做到这一点?
我什至在下面尝试过:
role-command="aws sts assume-role --role-arn arn:aws:iam::<acct_id>:role/AWS-Role --role-session-name temp-aws-rolesession --output text --duration-seconds 3600 --query 'Credentials.[[join(\`=\`,[\`AWS_ACCESS_KEY_ID\`, AccessKeyId])],[join(\`=\`,[\`AWS_SECRET_ACCESS_KEY\`, SecretAccessKey])],[join(\`=\`,[\`AWS_SESSION_TOKEN\`, SessionToken])]]'"
Getting below:
bash: role-command=aws sts assume-role --role-arn arn:aws:iam::<acct_id>:role/AWS-Role --role-session-name temp-aws-rolesession --output text --duration-seconds 3600 --query 'Credentials.[[join(`=`,[`AWS_ACCESS_KEY_ID`, AccessKeyId])],[join(`=`,[`AWS_SECRET_ACCESS_KEY`, SecretAccessKey])],[join(`=`,[`AWS_SESSION_TOKEN`, SessionToken])]]': No such file or directory
问候, 萨
【问题讨论】:
-
我做对了。我可以确认它现在完成了。 ................................ y="$(echo "aws sts 假设角色 --role-arn arn:aws:iam ::
:role/AWS-Role --role-session-name role-session --output text --duration-seconds 3600 --query 'Credentials.[[join(`=`,[`AWS_ACCESS_KEY_ID`, AccessKeyId])],[join(`=`,[`AWS_SECRET_ACCESS_KEY`, SecretAccessKey])],[join(`=`,[`AWS_SESSION_TOKEN`, SessionToken])]]'" |sed 's/ / 56787654567/g')"
标签: shell amazon-iam