2015-10-13 185 views
0

目前我通過我的linux終端運行我的python程序。我執行ssh後如何繼續執行我的python腳本

在elif條件語句的一部分中,它執行linux ssh命令以遠程訪問另一臺機器os.system('ssh ' + <varWithHostName>

當它進入另一臺機器後,它似乎退出我的程序。在我的程序進入另一臺機器後,如何繼續執行下一部分程序。

我聽到的Paramiko模塊可能是答案?或者這可以在沒有模塊的情況下完成?

+0

顯示你的整個程序上。 – RobertB

回答

0

如果你想用ssh在遠程機器上執行腳本,你可以使用ssh運行腳本。例如

os.system('ssh ' + <varWithHostName> + ' foo.py') 

因爲foo.py存在於計算機

http://www.cyberciti.biz/faq/unix-linux-execute-command-using-ssh/

+0

很酷,由於某種原因,它會將附加到varWithHostName的末尾,導致主機名不正確。錯誤輸出= ssh:無法解析主機名rorodostuff.py:沒有與主機名關聯的地址。 roro = dostuff.py = kaz

+0

您可能需要檢查該機器的目錄中是否存在'foo.py';我其實不確定在那裏出了什麼問題,但是如果你在'foo.py'裏面有ssh命令,我不確定你是否可以在'elif'語句中運行'foo.py'的其餘部分,你可能會必須運行來自遠程機器的'elif'語句中的任何內容 – ljk

相關問題