python-spur-reboot命令不工作

python-spur-reboot命令不工作,python,paramiko,Python,Paramiko,我使用Python3.4.3和spur v0.3.15(paramiko的包装器)将SSH连接到远程设备中 对于大多数命令来说,它工作得很好,但是我遇到了一些不工作的命令 下面的命令用于在远程设备上重新启动,我没有收到任何错误,但设备也不会重新启动 shell.run(["echo", password, "|", "sudo", "-S", "shutdown", "-r", "now"]) 我做错了什么?来自spur文档,网址: 为什么变量和重定向等shell功能不起作用? 命令直接运

我使用Python3.4.3和spur v0.3.15(paramiko的包装器)将SSH连接到远程设备中

对于大多数命令来说,它工作得很好,但是我遇到了一些不工作的命令

下面的命令用于在远程设备上重新启动,我没有收到任何错误,但设备也不会重新启动

shell.run(["echo", password, "|", "sudo", "-S", "shutdown", "-r", "now"])

我做错了什么?

来自spur文档,网址:

为什么变量和重定向等shell功能不起作用?


命令直接运行,而不是通过shell运行

如果您想使用任何shell功能,例如变量和重定向,那么您需要在适当的shell中运行这些命令。例如:

shell.run(["sh", "-c", "echo $PATH"])
shell.run(["sh", "-c", "ls | grep bananas"])

因此,我想澄清一下,到底是什么原因导致了shell.run命令的失败([“echo”、password、“|”、“sudo”、“S”、“shutdown”、“r”、“now”])。为什么没有抛出错误?