特定のRPMパッケージがアレイに存在することを確認しようとしています。パッケージが見つからない場合は、「パッケージが存在しません」というメッセージで終了します。これは私のコードです
#!/bin/bash
echo "Checking for Pre-requisites X11 libraries required for installation"
my_array=(xorg-x11-drivers xorg-x11-utils xorg-x11-xauth xorg-x11-xinit initial-setup-gui initial-
setup-gui install initial-setup-gui glx-utils )
for (( i = 0; i < ${#my_array[@]} ; i++ )); do
#printf "\n**** checking: ${my_array[$i]} *****\n\n"
if rpm ! -qa "${my_array[$i]}"
then
echo "Package missing"
exit 1
else
echo "All Package available"
exit
fi
完璧
しかし、これは似合うパッケージを見つけるときにやめるのとは反対のようです。誰かが私がここでどのように台無しにしているのか教えてもらえますか?
ベストアンサー1
2つの問題があります。
rpm -qa
、本当に議論が必要ですか?rpm -q
する。rpm ! -qa
、シェルでは機能しません! rpm -qa
。