Ожидайте скрипт - запускайте код при выходе - PullRequest
1 голос
/ 02 марта 2012

Можно ли выполнить код, когда ожидаемый сценарий завершен?

В следующем примере:

#!/usr/bin/expect

while { true } {
  puts "I am alive"
  sleep 5
}

puts "I am dead"

При этом будет непрерывно выводиться сообщение «Я жив».Когда я нажимаю CTRL + C , чтобы убить скрипт, как я могу вызвать функцию (или аналогичную) для печати «Ямертвец "на выходе?

1 Ответ

2 голосов
/ 03 марта 2012

Эта ссылка объясняет, как обрабатывать SIGINT в Expect.Это то, что вы хотите сделать в своем коде:

#!/usr/bin/expect

proc sigint_handler {} {
  puts "I am dead"
  exit
}
trap sigint_handler SIGINT

while { true } {
  puts "I am alive"
  sleep 5
}
...