Я пытаюсь автоматизировать некоторые взаимодействия с исполняемым файлом windows (я полагаю, что это сценарий python, который был упакован с py2exe или аналогичным), используя Expect из Windows Подсистема для Linux (V1 Debian). Если я вручную запускаю исполняемый файл в WSL, он печатает некоторый текст, который я хочу сопоставить в Expect. Однако, если я создаю его с Expect, вместо того, чтобы возвращать какой-либо вразумительный текст, он возвращает ^[[66;1R
, что может быть похоже на какой-то код выхода ANSI для меня?
Это мой MWE:
#!/usr/bin/expect --
set timeout 10
spawn binary-to-automate.exe
exp_internal 1
expect "*Please enter*"
puts $expect_out(buffer)
, который возвращает
spawn ./binary-to-automate.exe
expect: does "" (spawn_id exp4) match glob pattern "*Please enter*"? no
expect: does "\u001b[6n" (spawn_id exp4) match glob pattern "*Please enter*"? no
^[[66;1Rexpect: timed out
can't read "expect_out(buffer)": no such variable
while executing
"puts $expect_out(buffer)"
(file "./test" line 7)
Использование фиктивного сценария оболочки вместо двоичного файла windows, который просто отображает текст, работает, как и ожидалось, любые предложения, где я мог бы go отсюда?