ожидать: сохранить вывод команды spawn в переменную

Внутри моего «ожидаемого» сценария:

set $REPOS "/path/to/repo/"
set $REV 73
set LOG [spawn svnlook log -r $REV $REPOS]

Что это будет хранить в переменной "LOG": 16345 (место памяти).

Что он должен хранить в переменной "LOG": "какое-то сообщение журнала коммитов svn".

Похоже, это проблема с выполнением команды bash и последующим сохранением этого вывода в ожидаемой переменной.

У вас есть идеи? Я новичок, чтобы ожидать и tcl.


person WalterBeiter    schedule 11.07.2017    source источник


Ответы (1)


Вам там не нужен спавн. Пытаться:

set LOG [exec svnlook log -r $REV $REPOS]

Если вы действительно хотите использовать spawn:

spawn vnlook log -r $REV $REPOS
expect
set LOG $expect_out(buffer)
person komar    schedule 12.07.2017
comment
Спасибо. Эксперт сделал свое дело! - person WalterBeiter; 12.07.2017
comment
в приведенном выше коде что означает строка №2 [ожидание] без каких-либо параметров? - person MD5; 02.05.2018