В этом вопросе приведено несколько способов дампа страницы man. Они также обсуждают, что страницы man имеют специальное форматирование - то, которое может быть интерпретировано эмулятором терминала.
По сути, man page - это groff документ, поэтому он содержит забавные символы, которые man
интерпретирует как форматирование.
Использование man
на двух разных эмуляторах терминала может дать разные результаты - именно это и произошло с вами. К сожалению, вы мало что можете сделать с его поведением - оно ограничено вашим эмулятором терминала.
Я пока не могу комментировать, поэтому публикую его как ответ, хотя и неполный, поскольку OP не опубликовал достаточно данных.
Вероятно, вы захотите изучить expect
. Это язык сценариев сам по себе, но его можно смешивать с bash
(, хотя это не рекомендуется, насколько я знаю ). В простейшей форме это работает так:
#!/usr/bin/expect
expect "Prompt: "
send "my input\r"
expect eof
\r
означаетreturn
(я думаю ), просто введите клавишу .
Так, например, expect
скрипт для вашей программы может выглядеть так:
#!/usr/bin/expect
expect "Provide 1: "
send "1\r
expect "Provide filename: "
send "foobar.txt\r"
expect "Provide 5: "
send "5\r"
# and so on...
expect eof
Пожалуйста, предоставьте код, который у вас есть, и примеры запросов вывода из вашей программы "x", чтобы мы могли адаптировать ответ к вашим потребностям.