注意,如果cloud-init
的User-Data Script被执行环境不通常含有HOME
和USER
变量,因为脚本是在非登陆shell为root
执行。
在UserData
尝试env
命令来查看环境变量可用的完整列表:
Description: Output shell variables.
Resources:
Instance:
Type: AWS::EC2::Instance
Properties:
ImageId: ami-9be6f38C# amzn-ami-hvm-2016.09.1.20161221-x86_64-gp2
InstanceType: m3.medium
UserData:
Fn::Base64: !Sub |
#!/bin/bash
env
在Amazon的Linux AMI(!请注意,结果将取决于您正在运行的AMI)我得到的Console Output以下的输出:
TERM=linux
PATH=/sbin:/usr/sbin:/bin:/usr/bin
RUNLEVEL=3
runlevel=3
PWD=/
LANGSH_SOURCED=1
LANG=en_US.UTF-8
PREVLEVEL=N
previous=N
CONSOLETYPE=serial
SHLVL=4
UPSTART_INSTANCE=
UPSTART_EVENTS=runlevel
UPSTART_JOB=rc
_=/bin/env
你可以看看你的情况下的系统日志(从AWS控制台:选择你的EC2实例 - >操作 - >实例设置 - >获取系统日志),看看是否有任何错误? – spg