2017-04-18 53 views
0

我有检查一个集群的状态,但运行的远程服务器上的命令的功能。 为了获得状态,我需要提供一个从另一个函数获得的群集密码。的Python - 替换的变量在另一个变量

我的代码::

def clusterHealthCheck(redisIp, loadBalancerIp): 
    password = file_utils.getPasswd("password.txt", "REDIS_PASS") 
    result = shell_utils.runCommandOnRemoteHost(redisIp, "redis-cli -a 'password' info replication | grep slave0 | cut -d'=' -f4 | cut -d',' -f1") 

getPasswd功能从文件中获取密码,并将其保存到一个变量。 我的runCommandOnRemoteHost函数在远程服务器上运行一个shell命令(第二个参数)。这第二个参数需要来自我的第一个变量的密码。

所以我需要将一个变量替换为另一个变量。

这是我的第二可变"redis-cli -a 'password' info replication | grep slave0 | cut -d'=' -f4 | cut -d',' -f1"这就需要password取代在它。

是否有可能做到这一点?我尝试转义字符,但它不起作用。

+1

听起来像你想“的密码后东西”之前'来连接字符串password'' ......所以理论上'“密码之前的东西“”,密码为password''再经过'串” +密码+ '应该是你正在寻找的字符串。 – Chris

回答

0
def clusterHealthCheck(redisIp, loadBalancerIp): 
    password = file_utils.getPasswd("password.txt", "REDIS_PASS") 
    result = shell_utils.runCommandOnRemoteHost(redisIp, "redis-cli -a '%s' info replication | grep slave0 | cut -d'=' -f4 | cut -d',' -f1" %password) 

这对我来说诀窍。