Bonjour,
Je fais un petit script pour tester l'existence des packages et s'ils sont installés ou non.
Le script principal appel un fichier ou chaque ligne indique le package en question :
apache2
postfix
azerty
apache2 est présent et installé, postfix est présent mais pas installé et azerty est inexistant
Le code ci-dessus vous montre le script :
Hors j'obtiens le résultats suivant qui ne correspond pas à la réalité :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 INSTALL_PATH=/tmp >$INSTALL_PATH/pkg_installable >$INSTALL_PATH/pkg_installed >$INSTALL_PATH/pkg_no_installed for PACKAGE in `cat $INSTALL_PATH/pkg_list.txt | grep -v "#" | grep -vx "" | sed ':a;N;$!ba;s/\n/\ /g'` do #echo "$PACKAGE" if [ -z `apt-cache pkgnames | grep -q $PACKAGE` ] then if [ -z `apt-cache policy $PACKAGE | grep Installé | grep aucun` ] then echo "$PACKAGE Paquet non installé" echo "$PACKAGE" >>$INSTALL_PATH/pkg_no_installed else echo "$PACKAGE Paquet installé" echo "$PACKAGE" >>$INSTALL_PATH/pkg_installed fi else echo "$PACKAGE Aucun paquet" echo "$PACKAGE" >>$INSTALL_PATH/pkg_installable fi done
Je devrais avoir en sortie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 apache2 Paquet non installé ./script.sh: ligne 12 : [: Installé : : opérateur binaire attendu postfix Paquet installé azerty Paquet non installé
Merci de m'éclairer, je ne vois pas où je fais l'erreur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 apache2 Paquet installé postfix Paquet non installé azerty Aucun paquet
Partager