Я пишу сценарий ожидания, который ищет строку в формате:
([0-9]*)\) sign-([0-9]*)-X16-2019-11-04-dash.tar.xyz.abc
например:
106) sign-496-X16-2019-11-04-dash.tar.xyz.abc
в TUI и получает часть перед «)»[через переменную $expect_out(1,string)
] и отправляет ее в TUI.
Однако часть даты является переменной [ 2019-11-04 ], и ожидаемый сценарий получает ее как ввод через $ARGV. Я пытался выяснить правильные шаблоны escape, чтобы правильно соединить строки, чтобы регулярное выражение работало. До сих пор я пробовал:
set inputStr [lindex $argv 0]
expect -re {([0-9]*)\) sign-([0-9]*)-X16-\"$inputStr\"-dash.tar.xyz.abc} {....}
и
set inputStr [lindex $argv 0]
expect -re {([0-9]*)\) sign-([0-9]*)-X16-{$inputStr}-dash.tar.xyz.abc} {....}
, но они не соответствуют ни одной строке в TUI. Что я делаю не так?