Как написать пользовательскую программу запуска приложений, которая запускает приложение как определенную группу?

Как говорит thrig, вы должны прочитать файл напрямую. Кроме того, используя cat, как говорит Джон, в конце файла будет новая строка, и это станет\r\n(возвратом каретки -, новой строкой )при переходе через pty spawn. Таким образом, вы можете изменить свой шаблон регулярного выражения, чтобы захватывать только эти символы:

expect -re "(5.*)\r\n"
set VERSION $expect_out(1,string)

Обратите внимание, как мы запрашиваем индекс 1, захват (), а не 0, совпадение всего шаблона.

Кроме того, вы можете удалить пробел с помощью команды tcl

set VERSION [string trim $expect_out(0,string)]

Обратите внимание: вы путаете шаблоны glob и regexp в строке ожидания :5.*.*, поскольку шаблон glob будет соответствовать вашему стилю ввода 5.x.x . Использование -reозначает, что вы должны просто использовать регулярное выражение 5.*, которое соответствует всем до конца.

0
24.11.2017, 23:02
0 ответов

Теги

Похожие вопросы