1
echo Something=Something > file
我可以使用的paramiko的exec_command做cat
,grep
和ls
,但每當我試圖修改它什麼都不做的文件。在此之前我已經跑過su
。該文件與運行該命令之前保持完全一樣。爲什麼paramiko不能運行這個命令? (蟒蛇)
echo Something=Something > file
我可以使用的paramiko的exec_command做cat
,grep
和ls
,但每當我試圖修改它什麼都不做的文件。在此之前我已經跑過su
。該文件與運行該命令之前保持完全一樣。爲什麼paramiko不能運行這個命令? (蟒蛇)
這是因爲您必須爲每個exec_command調用打開一個新通道。由於su命令與特定通道關聯,因此會失去對su命令的認證。
您有幾個選項。
選項3允許與paramiko交互使用ssh,保持狀態信息不變。這就是你需要的su命令。它還允許您在shell連接周圍創建一個pexpect類型的包裝,觀察stdout管道是否顯示事情已完成,並且可以通過stdin發送其他命令。注意填充和阻塞的管道,直到讀取數據。