如何将 bash 变量传递到文件中

How to pass bash variable to into file

我想从 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']

Python default installation 在 Windows 上是 C:\Python。如果你想知道 while 运行 python 你可以这样做:

import sys
print sys.prefix