使用AWS CLI进行Bash – 无法找到凭据

我有一个 shell脚本,应该从S3下载一些文件并安装一个ebs驱动器.但是,我总是以“无法找到凭据”结束.

我已使用aws configure命令指定了我的凭据,并且命令在shell脚本之外工作.有人可以告诉我(最好是详细的)如何让它发挥作用?

这是我的剧本

#!/bin/bash

AWS_CONfig_FILE="~/.aws/config"

echo $1

sudo mkfs -t ext4 $1
sudo mkdir /s3-backup-test
sudo chmod -R ugo+rw /s3-backup-test
sudo mount $1 /s3-backup-test

sudo aws s3 sync s3://backup-test-s3 /s3-backup/test

du -h /s3-backup-test
ipt (short version):

谢谢你的帮助!

sudo会将$HOME目录(因此〜)更改为/ root,并从环境中删除大多数bash变量,如AWS_CONfig_FILE.确保以root用户用户身份使用aws进行所有操作,不要混用.

例如,确保你做了sudo aws configure.并尝试

sudo bash -c 'AWS_CONfig_FILE=/root/.aws/config aws s3 sync s3://backup-test-s3 /s3-backup/test'

您可能更喜欢从脚本中删除所有sudo,并且只是sudo脚本本身.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...