AWS EC2设置环境变量

时间:2015-10-27 07:47:02

标签: amazon-web-services amazon-ec2

我正在将代码部署到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

enter image description here

因此,当我使用此用户数据脚本启动实例时,我希望看到环境变量已设置,但它没有。

那么我做错了吗?

1 个答案:

答案 0 :(得分:2)

您的用户数据脚本实际上已运行。然而,它是在自己的bash进程上运行的,这个进程在你的脚本结束时就会消失。

导出的变量仅在脚本的生命周期内保留,并且从脚本的子进程中也可以看到它们。

由于与ec2实例的新连接不是运行用户数据的原始脚本的子项,因此它们不会继承导出的变量。