Ich versuche, Fabric in Python verwenden, um Befehle an ein Programm auf einem anderen Computer zu senden.Python ssh mit Stoff, Code 127
Dieser Code funktioniert:
from fabric.api import env, run
env.host_string = 'xxx.xxx.xxx.xxx'
env.user = 'username'
env.password = 'password'
run('ls')
Aber wenn
run('rostopic list')
läuft ich
Warning: run() received nonzero return code 127 while executing 'rostopic list'!
'/bin/bash: rostopic: command not found'
jedoch auf der Maschine bekommen selbst wenn ich laufen
rostopic list
es läuft wie es soll
Ich bin mir nicht sicher, wie es weitergeht und ich verstehe nicht, warum es nicht mit Stoff funktioniert. FYI Ich habe versucht, dies mit paramiko zu implementieren, aber ich habe auch Probleme, aber es funktioniert gut mit pxssh. Das Problem ist, dass ich das unter Windows brauche und pxssh nicht kompatibel ist. Wie kann ich diesen Befehl mit Fabric arbeiten lassen?
Sind Sie sicher, dass die Shell-Umgebung für die SSH-Sitzung ist richtig? Wie läuft '/ bin/sh' im Vergleich zu'/bin/bash'? –
Wie führe ich es in/bin/sh? Ich bin mir nicht sicher, wie ich die Shell-Umgebung ändern soll. Bis jetzt habe ich diese Befehle in der Python-Befehlszeile ausgeführt – frenchie007
Es kann bereits in '/ bin/sh' ausgeführt werden. Das ist mein Punkt, ist, dass 'bash' könnte andere PATH-Umgebung haben, so dass Sie den Befehl ausführen –