ожидание возвращает ошибку «идентификатор порождения exp5 не открыт» при запуске программы на c

#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 и опубликуйте результат на свой вопрос.