Я нашел здесь отличный ответ (Test if a command outputs an empty string)rpm --test никогда не возвращает непустую строку?
Я пытаюсь применить это к команде rpm -e -test. Я хочу иметь возможность проверять зависимости до размещения пакета в списке для удаления. Так что мой простой скрипт выглядит так до сих пор:
for PKG in pkg1 pkg2
do
if [[ $(rpm -e --test $PKG) ]]; then
echo "there are dependencies for $PKG"
else
echo "remove $PKG"
fi
done
Однако независимо от того, если пакет имеет зависимость или нет, я всегда проваливаюсь в случае других. Любые мысли о том, как это сделать по-другому?
Спасибо! Я на самом деле пробовал это, но поступил не так. FYI, вы ставите «rpm -q», а не «rpm -e» в выражении if. Это отбросило меня на время :) –
Упс, хороший патч. Исправлено. – larsks