Я искал какое-то время, но не смог найти ответ на этот вопрос. Я хотел бы совместить вывод конкретной команды с массивом, который находится в моем скрипте. Я perl-кодер, но ограничения типа системы, которую я должен использовать, я не могу использовать perl, и мне приходится прибегать к bash для моего скрипта. Это Debian 5.0.6 как FYI.Соответствие вывода команды массиву в bash
Так что всякий раз, когда моя команда sudo запускается на определенном IP-адресе, она дает определенные слова, которые находятся в моем массиве. Мне нужно сопоставить те из этих слов в массиве с тем, что он выдает на выходе.
Также этот массив представляет собой 228 разных вещей, которые ему нужно просмотреть.
Моя электронная переменная предназначена для отправки, когда она находит ее, и работает сама по себе.
array=("City1" "City2" "City 3")
sudo -u user /usr/local/bin/someprogram.pl x.x.x.x;
MATCH1=`grep "$array"`
if [ "{$MATCH1}" != ""]
then
do $email
else done
fi
Я ценю любую помощь с этим. Приношу свои извинения за мое незнание bash.
Это хорошо, но он не возвращает никаких строк, как он использовался, чтобы просто сидеть там в течение минуты, и возвращает меня в мое приглашение. Я не получаю никаких ошибок ни от этого, но просто кажется странным. Большое спасибо. – Nvasion
@Nvasion Я обновил свое сообщение с другой версией скрипта, используя какой-то «индикатор прогресса», если это помогает. – janos
Да, это проходит через 10 строк ips, а затем проходит через 228 элементов в массиве, последний скрипт занимает 10 минут для запуска. У меня все еще есть другой инженер, выполняющий команды вручную, и я запускаю этот скрипт на неделю, чтобы убедиться, что он делает то, что он должен. Но спасибо большое. – Nvasion