Я посмотрел и не вижу вопроса, похожего на этот.У меня есть сценарий ожидания, который входит в удаленные системы и может отправлять команды.У меня есть особый случай, когда мне нужно отправить команду, основанную на выводе предыдущей команды.
Я регистрирую сеанс каждого хоста, в который я вхожу, в файл, так что мой план игры состоял в том, чтобы возможно получить этот журналфайл для нужного мне значения, чтобы затем я мог передать его следующим нескольким командам.
Например.SSH к устройству.Отправьте команду, результатом которой будет строка со значением $ this_host.log: возвращает экземпляр: 541 (намеренно пропустили часть выходных данных). В оболочке вы можете просто получить часть 541, выполнив следующее: grep «возвращает экземпляр» *.журнал |awk '{print $ 7}'
Ожидается, что я хотел бы сохранить это значение 541 в переменной, чтобы затем я мог выполнить: send "next.command. $ value", где значение равно 541. 541просто пример, так как это может быть любое 3-значное число там.
Я не уверен, как конвертировать этот grep |awk combo, чтобы ожидать формат.Я постоянно использую эти комбинации в обычных сценариях оболочки: например, UPTIME = "$ (grep -E" Время работы системы: "$ log | awk '{print $ 3 $ 4 $ 5 $ 6 $ 7 $ 8}')"