ожидается, что сценарий не работает? - PullRequest
0 голосов
/ 14 октября 2011

В настоящее время я изменяю скрипт, используемый для резервного копирования контекстов и крипто-файлов модулей ACE Cisco. это работает абсолютно красиво с одним устройством. тем не менее, когда я использую его в другом модуле, кажется, что он полностью не синхронизирован и портит скрипт.

Из того, что я вижу, различия заключаются в наличии строки, которую выдает модуль ACE, следующим образом: Warning: Permanently added '[x.x.x.x]' (RSA) to the list of known hosts.\r\r\n это, кажется, просто отбрасывает оставшуюся часть сценария, даже если ни одно из моих ожидаемых утверждений не является даже ищу это!

У меня не было ничего, кроме кошмаров с ожиданием и того, как он интерпретирует информацию из тузовых модулей; Может ли кто-нибудь пролить свет на эту проблему или дать совет, как заставить эти устройства вести себя, когда я пытаюсь написать для них скрипт?

1 Ответ

1 голос
/ 15 октября 2011

Если вы обрабатываете одно соединение за раз, вы должны убедиться, что вы полностью завершили одно, прежде чем открывать следующее.Самый простой способ сделать это - поместить:

close
wait

В конце цикла (foreach) над объектами для подключения.


Если вы это делаетенесколько соединений одновременно, вы должны позаботиться о том, чтобы использовать опцию -i для различных команд (в частности, expect, send и close) и заставить все работать правильно в дополнение исправить вещи, которые я упоминал ранее.Это можно сделать, но это значительно сложнее и не стоит, если вам не нужен параллелизм.

...