python paramiko報錯bash: command not found


問題

在shell終端登錄執行命令和腳本不會報錯,paramiko執行就會報錯

原因

默認情況下,SSHClient.exec_command不以“登錄”模式運行shell,也不為會話分配偽終端.

因此,(在一些交互式SSH會話中)可能獲取不同的啟動腳本集(特別是對於非交互式會話.bash_profile和.bashrc不是源)

解決

命令封裝加上bash --login -c 比如原始命令是

ssh.exec_command('crm')

現在改成這樣

ssh.exec_command("bash --login -c 'crm'")

The end


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM