我有一个检查群集状态但在远程服务器上运行命令的功能。 为了获得状态,我需要提供一个我从另一个函数获得的集群密码。
我的代码是::
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
替换。
有可能这样做吗?我试过转义字符,但它不起作用。
答案 0 :(得分: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)
这对我有用。