python - 在远程计算机上使用 rsh 运行命令

标签 python subprocess rsh

我正在尝试运行 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

谢谢

最佳答案

将命令用适当的 shell 引号括在三引号中:

"""df -Pk|grep "sd\|md"|gawk '{print $2}'"""

另请参阅 Python 教程的 bit on strings .

关于python - 在远程计算机上使用 rsh 运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9120157/

相关文章:

python - 装饰器的可选 args、kwargs

python - TransportError 400 Elasticsearch 包含大量术语

python - 当线程等待 stdout 时继续运行 python 脚本

perl - rsh 与 Perl 的 Expect.pm 相比有何优势?

windows - Windows 7 中缺少 rcp/rsh

python - 如何在 Jupyter Lab 的 'Export Notebook to Html_toc' 菜单上获得选项 'Export Notebook as...'?

python - unix vim 处理 BufRead 自动命令时检测到错误

python - 如何向已作为子进程打开的 CLI 发送命令?

python - 当工作目录位于 UNC 路径而非映射驱动器上时调用 subprocess.Popen()

git - 如何让 git 使用 "ssh"以外的 ssh (rsh) 传输