Я новичок в Perl. Я использую Perl Ожидаем модуль для создания удаленной системы. Выполняйте набор команд там одну за другой, используя отправляющий модуль (например, $ exp-> send («моя команда в виде строки идет сюда \ n»). Проблема в том, что команды, которые я выполняю, занимают некоторое время для обработки. И до того, как все команда окончания удаленного компьютера истекает по тайм-ауту, и я возвращаюсь к моему приглашению хост-машины. Не могли бы вы помочь мне, как справиться с этим .?
У меня есть еще один вопрос. У меня есть команда, которая возвращает 2 значения после выполнения (скажем, я делаю печать для 2 значений на удаленном компьютере). Я хочу захватить эти 2 значения и передать в качестве аргумента следующую команду, используя модуль отправки. Как мне это сделать.
Пожалуйста, помогите мне с этой проблемой.
Спасибо.
Я только что узнал что-то об ожидаемом модуле. Существует опция undef, которую можно использовать с ожидаемым, например, $ exp-> Ожидайте (undef). Это будет ждать бесконечно и позволит всем командам завершить свою обработку. Но проблема в том, что он не возвращает обратно управление хост-машине. Есть еще один вариант использования ожидаемого с eof, который будет ожидать, пока он не обнаружит eof, а затем вернется на хост-компьютер. Хотя понятия не имею, как именно его использовать. Элегантное решение, которое я нашел, состоит в том, чтобы использовать ssh для запуска команд на удаленной машине, а не использовать ожидаемое, в этом случае нам не приходится иметь дело с таймаутами. :)