我有一个字符串,它将用作命令。另外,在运行该命令之前,我需要将字符串模式替换为变量值。
但在赋值时,我得到了所有输出行的命令未找到。
我试着添加了转义字符,但没有帮助。
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${角色命令}
我如何才能做到这一点?
我甚至在下面尝试过:
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
发布于 2021-05-25 23:28:53
我把这件事搞对了。我可以确认现在已经完成了。
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')"
https://stackoverflow.com/questions/67688101
复制相似问题