首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试将命令存储在shell变量中,但出现错误

尝试将命令存储在shell变量中,但出现错误
EN

Stack Overflow用户
提问于 2021-05-25 20:38:23
回答 1查看 17关注 0票数 0

我有一个字符串,它将用作命令。另外,在运行该命令之前,我需要将字符串模式替换为变量值。

但在赋值时,我得到了所有输出行的命令未找到。

我试着添加了转义字符,但没有帮助。

代码语言:javascript
复制
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: AWS_SESSION_TOKEN:找不到命令

bash: role-command=aws -role --role-arn arn:aws:iam:role/aws-role --role-session-name temp-aws-rolesession --output text --duration-seconds 3600 --query‘凭据。[ [join(,,AccessKeyId)],[join(,SecretAccessKey)],[join(,,SessionToken)]’:没有这样的文件或目录

并且我应该执行sed角色命令s/< -i _id>/97476414123/g${角色命令}

我如何才能做到这一点?

我甚至在下面尝试过:

代码语言:javascript
复制
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

致敬,SA

EN

回答 1

Stack Overflow用户

发布于 2021-05-25 23:28:53

我把这件事搞对了。我可以确认现在已经完成了。

代码语言:javascript
复制
y="$(echo "aws sts assume-role --role-arn arn:aws:iam::<acct_id>: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/<acct_id>/56787654567/g')"

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67688101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档