При использовании pxssh из pexpect (Python 3-v4.6.0, Python 2-v4.2.1) для выполнения команды выходные данные команды не возвращаются, только сама команда вместе с управляющим символом (пример ниже) ,
Это происходит только при использовании команды определенной длины, например, при установке размера окна на 200, команда длиной 189 символов будет запускать такое поведение, для размера окна 300, команды из 246 символов и т. Д.
Пример кода с соответствующими выходами:
Установка:
from pexpect import pxssh
conn = pxssh.pxssh()
conn.login(host, user, password)
conn.setwinsize(500, 200)
conn.setecho(False)
conn.sendline('')
conn.prompt(1)
conn.prompt(1)
Правильный ожидаемый результат:
conn.sendline('l'*188)
conn.prompt(1)
conn.before
b'llll**snip**lllll\x1b[Kl\r\n-sh: lllll*snip*lllll: command not found\r\n'
Неверный вывод:
conn.sendline('l'*189)
conn.prompt(1)
conn.before
b'lllll**snip**lllll\r\x1b[A'
Правильный ожидаемый результат:
conn.sendline('l'*190)
conn.prompt(1)
conn.before
b'lllll**snip**llllll\x1b[Kl\r\n-sh: lllll**snip**llllll: command not found\r\n'
Кто-нибудь знает, что может быть причиной этого?