tutoriel-bash-shell-linux:memento-bash-shell

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
tutoriel-bash-shell-linux:memento-bash-shell [10/06/2018 21:07] – créée zonewebmastertutoriel-bash-shell-linux:memento-bash-shell [08/10/2019 17:03] (Version actuelle) – modification externe 127.0.0.1
Ligne 40: Ligne 40:
 peut aussi faire l'affaire. peut aussi faire l'affaire.
  
 +===== Récupérer dans une variable le code retour d'une commande =====
  
 +Le code de retour d'une commande est un mécanisme fourni par le shell Linux. Il signale à l'utilisateur si l'exécution de la commande s'est déroulée correctement ou bien s'il y a eu un problème. Le code de retour est un entier compris entre 0 et 255.
 +
 +<WRAP center round tip 60%>
 +Par convention, un code retour égal à 0 signifie que l'exécution de la commande s'est déroulé sans rencontrer d'erreur.
 +</WRAP>
 +
 +Nous allons voir comment récupérer ce code erreur et l'insérer dans une variable pour un traitement ultérieur.
 +Dans notre exemple, nous allons vérifier si le service fail2ban a bien démarré.
 +<code bash>
 +#!/bin/bash
 +service fail2ban status > /dev/null   
 +resultat=$?     // Nous utilisons le caractère spécial
 +echo ${resultat}
 +</code>
 +
 +Explication du code :
 +  * Nous récupérons le statut du service //fail2ban//, avec la commande **service**.// /dev/null //permet de ne pas afficher le résultat de la commande.
 +  * Le paramètre spécial ? du shell contient le code de retour de la dernière commande exécutée. Ici nous mettons ce dode retour dans la variable //resultat//.
 +  * Nous affichons le contenu de la variable //resultat// avec la commande **echo**.
 +
 +Une autre méthode fonctionnant sous Debian 9 :
 +<code bash>
 +systemctl status fail2ban.service 1>/dev/null 2>&1; resultat=$?
 +echo ${sresultat}
 +</code> 
 +
 +Les deux exemples ci-dessus afficheront //0// si **fail2ban** fonctionne. Et //3// si **fail2ban** est à l'arrêt.
  
 ===== Notes de version ===== ===== Notes de version =====
  
   * [10/06/2018] : Article initial   * [10/06/2018] : Article initial
 +  * [20/06/2018] : Ajout de "Récupérer dans une variable le code retour d'une commande"
  
 ===== Auteurs et sources ===== ===== Auteurs et sources =====
  • tutoriel-bash-shell-linux/memento-bash-shell.1528657625.txt.gz
  • Dernière modification : 08/10/2019 16:40
  • (modification externe)