【发布时间】:2012-02-25 13:40:09
【问题描述】:
我正在尝试运行 python 脚本,我需要从脚本中 Rsh 一个命令,我要运行的命令是:df -Pk|grep "sd\|md"|gawk '{print $2}'
我这样做是-
cmd2='df -Pk|grep \\\"sd\|md\\\"|gawk \'{print $2}\''
process = subprocess.Popen(['rsh',ip,cmd2],stdout=subprocess.PIPE)
output = process.communicate()[0]
但是,当我运行脚本时,我没有得到任何输出。
我是 python 新手,据我所知,这是转义字符的问题。
任何帮助都会很棒。
注意: 我只能使用 Rsh,不能使用 ssh
谢谢
【问题讨论】:
-
你没有错过一个反斜杠来逃避 sd 之后的那个
-
您是否尝试过使用更简单的命令(例如 ls)来验证通信?您是否尝试过在本地执行 df/grep 命令?
-
@Sid 抱歉,打错了。
-
@ScottHunter 是的,我已经在本地运行了命令并检查了通信。有用。以下也适用 - cmd = 'df -Pk' process = subprocess.Popen(['rsh',ip,cmd],stdout=subprocess.PIPE) output = process.communicate()[0]
标签: python subprocess rsh