Les commandes Unix échouent avec "Command Not Found" dans Python Paramiko exec_command
Lors de l'exécution de commandes Unix à l'aide de Paramiko exec_command de Python, il est possible de rencontrer une erreur telle que "
Cause sous-jacente
La cause réside dans le comportement par défaut de SSHClient.exec_command, qui n'exécute pas de shell "de connexion" et n'alloue pas de pseudo-terminal pour la session. Par conséquent, différents scripts de démarrage peuvent s'exécuter et des variables d'environnement spécifiques peuvent ne pas être définies.
Solutions possibles
Pour résoudre ce problème, plusieurs approches peuvent être adoptées :
bash --login -c "sesu test"
PATH="$PATH;/path/to/sesu" && sesu test
stdin,stdout,stderr = ssh.exec_command('sesu test', get_pty=True)
Considérations supplémentaires
Référez-vous à ces ressources pour plus d'informations :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!