У меня есть скрипт bash, который использует xmlstarlet для манипулирования некоторыми парами ключ / значение в файле конфигурации приложения, чтобы подготовить файл для перемещения на новый рабочий хост.Значения, которые необходимо изменить, зависят от хоста / шифрования.
Чтобы обнаружить одно из новых значений, мне нужно взаимодействовать с предоставленным поставщиком сценарием в ожидаемом сеансе и записать вывод в переменную в сценарии bash.так что я могу продолжать его использовать.
Ожидаемая часть сценария bash выглядит примерно так:
expect <<DONE
spawn command_provided_by_vendor
expect :
send -- "newvalue\r"
DONE
Вот где я застреваю
В оболочкевывод этой команды выглядит следующим образом:
Encrypted value (case sensitive, please cut and paste): 2qIrRvcSoHMb55dpcef6vw==
Что мне нужно сделать, это захватить вывод без пробелов после «:», и все, что я пробовал, работает из-за ошибок регулярного выражения, скобка встрока подсказки и т. д.
Существуют и другие похожие вопросы о стекопереходе, но я не смог понять, как эти ответы помогли мне решить проблему.
Любая помощь, указатели приветствуются.