2016-03-21 72 views
1

我正在使用python 3.4.3並使用spur v0.3.15(paramiko的一個包裝器),將SSH連接到遠程盒子中。python spur reboot command not working

對於大多數命令其工作正常,但是我遇到了一些其中沒有。

以下命令是爲了在遠程設備上重新啓動,我沒有收到錯誤,但設備也沒有重新啓動。

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

我在做什麼錯?

回答

1

從正文檔: https://pypi.python.org/pypi/spur

爲什麼不Shell功能,如變量和重定向的工作?


命令直接運行而不是通過shell運行。

如果要使用任何shell特性(如變量和重定向),則需要在適當的shell中運行這些命令。例如:

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

所以說清楚 - 命令'shell.run([「echo」,password,「|」,「sudo」,「-S」,「關機「,」-r「,」現在「])''。爲什麼不是拋出的錯誤? – user1712447