#c #bash #expect
#c #удар #ожидать
Вопрос:
Я запускаю какой — то тест в программе со следующим кодом:
set timeout -1 set filename "test" set programName "./library" spawn rm -f $filename.db $filename.ind spawn ./$programName first_fit $filename expect "Type command and argument/s." expect "exit"
Вывод программы выглядит следующим образом:
Type command and argument/s. exit
обе строки записываются с помощью printf, и следующая строка, которая выполняется, — это fgets();
ожидается вывод следующей ошибки:
expect: spawn id exp5 not open while executing "expect "exit"" (file "add_data_test.sh" line 16)
Комментарии:
1. Первый комментарий: если вы запускаете программу, которая не требует интерактивности, используйте
exec
вместоspawn
.2. Затем библиотечная программа завершила работу до 2-й команды expect. Прежде чем создавать его, добавьте
exp_internal 1
и опубликуйте результат на свой вопрос.