rpm パッケージがアレイに存在することを確認します。

rpm パッケージがアレイに存在することを確認します。

特定の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つの問題があります。

  1. rpm -qa、本当に議論が必要ですか?rpm -qする。
  2. rpm ! -qa、シェルでは機能しません! rpm -qa

おすすめ記事