我想从bash变量创建host_install.py。
所以我尝试了以下几点:

#!/bin/bash

CM_HOST="10.0.5.99"
CM_USER="admin"
CM_PASSWORD="admin"
CM_CLUSTER_NAME="cluster"
INSTANCE_TYPE=`wget -q -O- http://169.254.169.254/latest/meta-data/instance-type`

cat > /tmp/host_install.py <<EOF
import socket
import commands
from time import sleep

cluster_name = "$CM_CLUSTER_NAME"
role_template = "$INSTANCE_TYPE"

print cluster_name
print role_template

EOF

chmod a+x /tmp/host_install.py
/tmp/host_install.py

这是打印
$CM_CLUSTER_NAME
$INSTANCE_TYPE

而不是
cluster
c3.2xlarge

我在这里做错什么了?

最佳答案

通过os.environ访问环境变量

import os
cluster_name =  os.environ['CM_CLUSTER_NAME']
role_template =  os.environ['INSTANCE_TYPE']

Windows上的Python default installationC:\Python。如果您想在运行python时找到答案,可以执行以下操作:
import sys
print sys.prefix

10-07 19:27
查看更多