我正在使用python 3.4.3并使用spur v0.3.15(paramiko的包装器)来SSH到远程盒子。
对于大多数命令来说它的工作正常,但是我遇到了一些不在的情况。
以下命令用于在远程设备上发出重启,我没有收到任何错误,但设备也没有重启。
shell.run(["echo", password, "|", "sudo", "-S", "shutdown", "-r", "now"])
我做错了什么?
答案 0 :(得分:1)
来自以下的支持文档: https://pypi.python.org/pypi/spur
为什么变量和重定向等shell功能不起作用?
命令直接运行而不是通过shell运行。
如果要使用任何shell功能(如变量和重定向),则需要在适当的shell中运行这些命令。例如:
shell.run(["sh", "-c", "echo $PATH"])
shell.run(["sh", "-c", "ls | grep bananas"])