J'ai un script Shell simple qui est utilisé pour mettre à jour Firefox. Le contenu de celui-ci est:
#!/bin/sh
Sudo apt-get pruge firefox
Sudo apt-get install firefox
C'est tout ce que c'est. Maintenant, quand je lance le fichier dans le terminal, en utilisant dans l'ordre,
cd Desktop/Batch\ Files
Sudo chmod 775 Firefox.sh
Sudo ./Firefox.sh
La sortie indique que l'action pruge
ne peut pas être complétée mais que le reste du fichier est exécuté.
Voici la sortie exacte:
Sudo: unable to resolve Host ubuntu: Connection timed out
E: Invalid operation pruge
Sudo: unable to resolve Host ubuntu: Connection timed out
Reading package lists... Done
Building dependency tree
Reading state information... Done
firefox is already the newest version (57.0.1+build2-0ubuntu0.16.04.1).
0 upgraded, 0 newly installed, 0 to remove and 261 not upgraded.
Aussi ennuyeux qu'il soit, je peux toujours exécuter le code, ligne par ligne, et l'action purge
fonctionne.
Vous avez une faute de frappe dans votre script, ce devrait être purge
et non pas pruge
. Et jusqu'à cela, vous n'avez pas besoin de Sudo dans votre script si vous appelez votre script avec Sudo script.sh
. Donc, votre script devrait être:
#!/bin/sh
apt-get purge firefox
apt-get install firefox
Vous voulez placer l'indicateur -y
sur l'installation pour qu'il soit installé automatiquement même s'il y a plusieurs packages à installer. Alors changez:
apt-get install firefox
dans:
apt-get install -y firefox
Si vous souhaitez toutefois que la sortie soit silencieuse, vous pouvez utiliser l'option -qq
(ce qui implique -y
). Dans ce cas, vous devez également donner à la purge le -y
ou -qq
aussi, mais les deux commandes seront exécutées silencieusement. Exemple de script complètement silencieux:
#!/bin/sh
apt-get purge -qq firefox &&
apt-get install -qq firefox
Vous vous demandez sûrement pourquoi j'ai mis ces &&
dans le script: cela entraîne l'exécution de la deuxième commande uniquement si la première a abouti.
Cependant, normalement, il n'est pas nécessaire de purger Firefox pour installer une nouvelle version. Un simple Sudo apt-get update && Sudo apt-get install --reinstall firefox
devrait suffire à cela, car le profil et les paramètres ne sont de toute façon pas purgés.
Dans votre code, vous inscrivez "pruge", il faut le remplacer par "purge".