Я использую трюковый прогон для выполнения команды на другом хосте, и я хочу поймать команду выполнения команды stderr. Ткань такой код:Ошибка возврата команды python в качестве stdout
def remoteTask(logfile):
with settings(warn_only=True):
result = run("tail -n4 %s | grep \'[error]\' | awk \'{print $1,$2,$0}\'" % logfile)
if result.failed:
raise Exception("Tail failed")
else:
sys.stdout.write(result)
Когда хвост не удалось, result.failed ложно, и значение результата STDERR хвоста. И ткань не будет генерировать исключение.
$ python exec.py
stdout: tail: cannot open `/var/log/test.log' for reading: No such file or directory
Я просто хочу, чтобы получить предупреждение или аварийное завершение из ткани, чтобы знать мой сценарий не может или нет, но в этой ситуации, я не могу поймать.
Пожалуйста, не забудьте включить ваш код в тело вопроса, а не только через скриншот. – 2ps
Большое спасибо за редактирование вопроса для меня. И я сделаю свой вопрос более ясным в следующий раз! Спасибо! –