我想从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 installation是
C:\Python
。如果您想在运行python时找到答案,可以执行以下操作:import sys
print sys.prefix