web-dev-qa-db-fra.com

sudo apt-get purge firefox ne fonctionne pas dans un fichier batch

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.

2
Traynack

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.

9
Videonauth

Dans votre code, vous inscrivez "pruge", il faut le remplacer par "purge".

3
ToXicL 16