Я пытаюсь использовать ткань в python для отправки команд в программу на другой машине.Python ssh с тканью, код 127
Этот код работает отлично:
from fabric.api import env, run
env.host_string = 'xxx.xxx.xxx.xxx'
env.user = 'username'
env.password = 'password'
run('ls')
Но при запуске
run('rostopic list')
Я получаю
Warning: run() received nonzero return code 127 while executing 'rostopic list'!
'/bin/bash: rostopic: command not found'
Однако на самой машине, если я бегу
rostopic list
он работает, как предполагается
Я не уверен, как действовать, и я не понимаю, почему он не работает с тканью. FYI Я попытался реализовать это с paramiko, но у меня также возникают проблемы, однако он отлично работает с pxssh. Проблема в том, что мне нужно, чтобы это работало на Windows, а pxssh несовместимо. Как я могу заставить эту команду работать с тканью?
Вы уверены, что среда оболочки для SSH сессии правильно? Как вы используете '/ bin/sh' по сравнению с'/bin/bash'? –
Как запустить его в/bin/sh? Я не уверен, как изменить среду оболочки. До сих пор я выполнял эти команды в командной строке python. – frenchie007
Возможно, он уже запущен в '/ bin/sh'. Это моя точка зрения, это то, что 'bash' может иметь другую среду PATH, поэтому позволяет вам выполнять команду –