我有一个 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):
谢谢你的帮助!
原文由 Smajl 发布,翻译遵循 CC BY-SA 4.0 许可协议
sudo
会将$HOME
目录(因此~
)更改为 /root,并从环境中删除大多数 bash 变量,如 AWS_CONFIG_FILE。确保您以 root 或您的用户身份使用 aws 执行所有操作,不要混用。确保你做了
sudo aws configure
例如。并尝试您可能更愿意从脚本中删除所有 sudo,而只 sudo 脚本本身。