我需要檢查已安裝的軟件包,如果未安裝,請安裝它們。對於RHEL,CentOS的,Fedora的檢查已安裝的軟件包,如果未找到安裝
例子:
rpm -qa | grep glibc-static
glibc-static-2.12-1.80.el6_3.5.i686
我該怎麼做在BASH支票?
我會做類似的事嗎?
if [ "$(rpm -qa | grep glibc-static)" != "" ] ; then
我需要爲其他發行版使用什麼? apt-get的?
我需要檢查已安裝的軟件包,如果未安裝,請安裝它們。對於RHEL,CentOS的,Fedora的檢查已安裝的軟件包,如果未找到安裝
例子:
rpm -qa | grep glibc-static
glibc-static-2.12-1.80.el6_3.5.i686
我該怎麼做在BASH支票?
我會做類似的事嗎?
if [ "$(rpm -qa | grep glibc-static)" != "" ] ; then
我需要爲其他發行版使用什麼? apt-get的?
嘗試以下代碼:
if ! rpm -qa | grep -qw glibc-static; then
yum install glibc-static
fi
或更短:
rpm -qa | grep -qw glibc-static || yum install glibc-static
對於Debian喜歡:
dpkg -l | grep -qw package || apt-get install package
對於的archlinux:
pacman -Qq | grep -qw package || pasman -S package
基於@GillesQuenot和@Kidbulra答案,這裏是一個例子如何遍歷多個包,並安裝如果它丟失:
packageList="git gcc python-devel"
for packageName in $packageList; do
rpm --quiet --query $packageName || sudo yum install -y $packageName
done
爲什麼不乾脆讓他們通過你的包必需的,並且包經理處理這一切? –
這只是一個簡單的bash安裝腳本來自動化一些事情。 :) –