Python 的Paramiko 中的Unix 指令出現「找不到」錯誤
嘗試使用Python 在Unix 伺服器上執行指令「sesu」時Paramiko exec_command 時,使用者可能會遇到錯誤訊息「sh: sesu: not found」。此問題僅在某些命令(例如“sesu”)中出現,而其他命令(例如“ls”)可以按預期運行。
此錯誤源自於 SSHClient.exec_command 中的預設行為,該行為不會執行shell 處於「登入」模式且不指派偽終端。因此,命令執行可能與互動式 SSH 會話不同,後者會取得或使用某些啟動腳本和環境變數。
可能的解決方案
建議使用以下解決方案按優先順序排列:
/bin/sesu test
bash --login -c "sesu test"
PATH="$PATH;/path/to/sesu" && sesu test
stdin,stdout,stderr = ssh.exec_command('sesu test', get_pty=True)
以上是為什麼某些 Unix 指令在 Python 的 Paramiko Exec_Command 中傳回「找不到」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!