蟒蛇Pexpect的我使用Pexpect的創建簡單的Python腳本另一臺服務器上的SSH找到文件,創建使用無法使用在Linux上使用
CurrentCommand = "ssh " + serverRootUserName + "@" + serverHostName
child = pexpect.spawn(CurrentCommand)
現在我正在像LS-一個或一些命令一個spwan過程「找到的/ opt /許可/ -name‘* .XML’」 使用代碼
child.run(mycommand)
如果它工作正常運行,從Pycharm但如果從終端中運行它不工作就無法找到任何文件,我認爲它正在研究我的本地系統。
任何人都可以給我一些建議。謝謝
我用這個已經,但它是。不工作child.sendline('mycommand')後跟 child.expect('prompt:') –
您應該期待*然後*發送線路:基本上,您必須等待ssh連接,然後才能嘗試將更多數據添加到它。我驚訝地發現ssh不會要求用戶名和密碼(除非你使用ssh密鑰,但是你最好使用-i參數在原始的ssh連接上指定你的密鑰。您開始的過程 - 它更多用於運行腳本 – Jmons
我沒有在這裏寫完整的代碼,我運行了命令child = pexpect.spawn(CurrentCommand)並提供了密碼,所以我現在有了子對象,它是如果我從unix終端的child.sendline(找到/ opt/license/-name'* .xml')後跟child.expect('prompt:'),它不顯示數據,來自Pycharm正在工作,它看起來像從我運行python腳本文件的位置查看我的本地服務器,例如[email protected] mypyhton.py –