grep переменная в выражении if

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

В основном, я хочу проверить, установлен ли список (INSTALLATION_PACKAGES) пакетов в системе. Если нет, запишите, какие из них не удалось установить, запишите информацию и выйдите. За пределами оператора if это работает отлично (см. Пронумерованную строку), у меня просто возникают проблемы с его выполнением в инструкции if.

Thx заранее за вашу помощь.

INSTALLED_LIST=`dpkg --list` for i in $INSTALLTION_PACKAGES; do apt-get -y install $i # echo "$INSTALLED_LIST" | grep -ie "^ii $i " if ! echo "$INSTALLED_LIST" | grep -ie "^ii $i " ; then echo $i >> $FAILED_INSTALL fi done 

One Solution collect form web for “grep переменная в выражении if”

Если вы хотите, чтобы все пакеты в $INSTALLATION_PACKAGES были установлены, просто apt-get install все из них, а затем проверьте, не сработали ли какие-либо из них:

 apt-get -y $INSTALLATION_PACKAGES list=$(dpkg -l | grep ^ii) for i in $INSTALLATION_PACKAGES do echo "$list" | grep -w "$i" || echo "$i" >> $FAILED_INSTALL done 
  • Команда rm в скрипте bash не работает с переменной
  • Чтение переменных без bash из файла в скрипт bash
  • Как сопоставить текст между строкой и пробелом
  • Использование sed в сценарии оболочки с многострочными переменными
  • Каков наиболее эффективный способ grep для двух совершенно разных вещей и присвоения значений отдельным переменным?
  • bash - определяющие переменные с VAR = $ {: - по умолчанию}
  • Вставка переменных в команду в сценарии оболочки
  • Shell: как использовать 2 переменные с условием
  • Расширение «$ @» для пользовательских переменных
  • Область переменных в while-read-loop на Solaris
  • Как назначить вывод команды переменной без запуска команды в подоболочке?
  • Linux и Unix - лучшая ОС в мире.