我正在将我的代码部署到AWS EC2。文档称,在启动ec2实例时,可以输入名为“用户数据”或“用户数据脚本”的信息,脚本将在实例启动时执行。
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html#user-data-shell-scripts
在我的用户数据脚本中有以下内容:
#!/bin/bash
echo 1111 >> /home/ubuntu/1111.txt
export MONGODB_HOST=www.mongodb.com
export MONGODB_PORT=12345
export MONGODB_USER=user
export MONGODB_PASS=pass

因此,当我使用这个用户数据脚本启动实例时,我希望看到设置了环境变量,但它没有。
我做错什么了吗?
发布于 2015-11-26 03:30:07
您的用户数据脚本实际上正在运行。然而,它是在自己的bash进程上运行的,而bash进程在脚本的末尾就会死掉。
导出的变量仅在脚本的生存期内保留,并且从脚本的子进程中也可以看到它们。
由于到ec2实例的新连接不是运行用户数据的原始脚本的子连接,所以它们不会继承导出的变量。
https://stackoverflow.com/questions/33362369
复制相似问题