la commande "cd" associés à l'argument "&" Le sujet est résolu

Demande d'aide : c'est ici.
Répondre
MicP
Modérateur
Modérateur
Messages : 896
Inscription : 16 avr. 2016, 22:14
Status : Hors-ligne

=======

EDIT : Voir le message suivant de PascalHambourg : ce n'est PAS un équivalent d'un if … else

=======
Et on peut faire un if … else … en utilisant les commandes && et || :

Code : Tout sélectionner

cmde1 && cmde2 || cmde3
S'il n'y a PAS eu d'erreur lors de l'exécution de cmde1 alors lancer l'exécution de cmde2
mais si il y a eu une erreur lors de l'exécution de cmde1, ou bien si il y a eu une erreur lors de l'exécution de cmde2, alors lancer l'exécution de cmde3

=======

Code : Tout sélectionner

apt update && apt upgrade || spd-say "Il y a eu un problème de mise à jour."
Si la mise à jour de la liste des paquetage s'est bien passée, alors faire la mise à jour des paquetages installés,
mais si la mise à jour de la liste des paquetage NE s'est PAS bien passée, ou bien si il y a eu une erreur lors de la mise à jour des paquetages installés, il faudra dire qu'il y a eu un problème de mise à jour.
PascalHambourg
Contributeur
Contributeur
Messages : 876
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

Attention : cmde3 est exécutée aussi en cas d'erreur lors de l'exécution de cmde2. Ce n'est donc pas équivalent à if then else.
Dans l'exemple avec apt, le message d'erreur est envoyé aussi si la mise à jour des paquets par apt upgrade échoue.
MicP
Modérateur
Modérateur
Messages : 896
Inscription : 16 avr. 2016, 22:14
Status : Hors-ligne

Merci, j'avais effectivement eu un doute après avoir posté mon message et comparé avec un if…else
mais je n'avais pas bien testé toutes les commandes.

Je corrige de suite mon précédent message.
Répondre