web-dev-qa-db-fra.com

Script bash pour vérifier si mdadm est installé sinon il va l'installer

Travailler sur un script bash qui vérifiera d'abord si mdadm est installé, sinon il l'installera. Ceci est mon script mais il ne fonctionne pas correctement. J'espère que quelqu'un pourra m'aider.

 if [ "$mdadm" = "mdadm" ]
    then
  echo -e "Mdadm is installed.\n"
   else
   echo -e "Install mdadm .\n"
   aptitude -y install $mdadm

   fi
2
user3185936

Ceci est le script nécessaire (par exemple script.sh)

#!/bin/sh

for P; do
    dpkg -s "$P" >/dev/null 2>&1 && {
        echo "$P is installed."
    } || {
        echo "Installing $P"
        aptitude -y install $P
    }
done

Utilisation: script.sh mdadm

Vous pouvez également rechercher autant de packages que vous le souhaitez

Utilisation: script.sh mdadm package2 package3 ...

EDIT: pour un seul package, vous pouvez effectuer les opérations suivantes:

    dpkg -s "mdadm" >/dev/null 2>&1 && {
        echo "mdadm is installed."
    } || {
        echo "Installing mdadm"
        aptitude -y install mdadm
    }
2
kamil