我正在启动一个EC2实例,当该实例第一次启动时,我正在尝试使用UserData运行一些命令和设置一些环境变量。我添加到UserData中的命令
#!/bin/bash
sudo apt-get -y update
sudo apt-get install gcc g++ build-essential
sudo apt install -y zip awscli python3-pip python3.7 python3.7-dev
python3.7 -m pip install --upgrade pip
pip3 install virtualenv
mkdir anomaly-detection
export DB_ADAPTER=postgresql+psycopg2
export DB_USER=dummy_user
export DB_PASSWORD=dummy_pwd
export DB_HOST=ec2-xx-xxx-xxx-xxx.eu-central-1.compute.amazonaws.com
export DB_NAME=dummy_db实例启动后,我启动了实例,当我检查环境变量时,它们没有设置,mkdir命令也没有运行。(所以我假设所有的命令都还没有执行)。
我正在做的错误是什么?
发布于 2020-08-12 13:31:55
用户数据脚本以root用户身份运行。
如果希望为登录时存在的用户定义环境变量,则应在每个用户的.profile文件中定义它们。如果您总是以ec2-user身份登录,那么将其添加到/home/ec2-user/.profile就足够了。
请参阅:How to permanently set environmental variables - Unix & Linux Stack Exchange
https://stackoverflow.com/questions/63359022
复制相似问题