我正在尝试使用shell脚本初始化AWS EC2实例。我的最终目标是使用boto(python SDK)自动执行此过程,到目前为止,我有一个简单的测试脚本,它将运行一个新的ubuntu实例,然后使用shell脚本将更新并下载一些工具(工作正常)但是然后我尝试让脚本创建一个文件夹,创建一个文件并最终运行AWS cli命令从S3存储桶下载文件。
创建实例后,我可以ssh并运行创建文件夹,文件和从存储桶下载文件的命令,但是,脚本不会为我这样做,我无法弄清楚这是为什么。
我的脚本如下所示:
#!/bin/bash
apt-get -y update
apt-get -y install awscli
mkdir ./test_folder
echo -e "data" > ./test_folder/test_file
aws s3 ls
为了这篇文章的目的,我用“数据”替换了访问密钥数据,所以最终s3命令不起作用,但如果有人可以帮助我理解为什么 mkdir 并且 echo 命令将无法运行我确信我可以解决其余问题。
答案 0 :(得分:1)
我设法弄清楚,谢谢你的帮助。对于非本机命令,我需要使用允许我运行su 'user' -c 'command'
和pip install boto
等命令的aws s3 ls
来指定用户。希望如果有人遇到这个问题,这将有所帮助!