Я пытаюсь создать bash-скрипт, который будет записывать в текстовые файлы вывод некоторых запросов pacman, в основном о том, какие пакеты установлены локально, какие пакеты установлены как зависимости, какие пакеты являются сиротами, и какие пакеты требуют каких зависимостей.В настоящее время я нахожусь в процессе решения проблемы, которая мешает мне написать, какие пакеты требуют каких зависимостей.Я использую следующий код bash:
#!/bin/bash
set -e -u
#Switch to PWD
cd /home/$USER/System/scripts/pacman-queries-output/
#Get the current date
DATE=`date +%m%d%Y`
#Pacman Queries
pacman --query -e >pacman_installed$DATE.txt
pacman --query -d >pacman_dependencies$DATE.txt
pacman -Qdt >pacman_orphans$DATE.txt
while read package_desc
do
package_name=$(echo $package_desc| cut -d' ' -f 1)
check_if_none=$(pacman -Qi $package_name | grep "Req" | sed -e 's/Required By : //g')
if $check_if_none != "Required By : None"
then
echo $package_name >>pacman_required_by$DATE.txt
pacman -Qi $package_name | grep "Req" | sed -e 's/Required By : //g' >>pacman_required_by$DATE.txt
fi
done < $PWD/pacman_installed$DATE.txt
echo 'Completed 'basename
Однако цикл while, похоже, не создает и / или не записывает в указанный мной текстовый файл, а повторяет это несколько раз в терминале:
. / Pacman-queries.sh: строка 20: Требуется: команда не найдена
Ниже приведена одна из итераций цикла while, который отображается при запуске bash -x pacman-queries.sh:
+ read package_desc
++ echo aesfix 1.0.1-4
++ cut '-d ' -f 1
+ package_name=aesfix
++ pacman -Qi aesfix
++ grep Req
++ sed -e 's/Required By : //g'
+ check_if_none='Required By : None'
+ Required By : None '!=' 'Required By : None'
pacman-queries.sh: line 20: Required: command not found
Может ли кто-нибудь предложить какое-либо решение, которое может понадобиться для решения этой проблемы?Заранее спасибо.