Codes de sortie


WP-CLIWP-CLI WP-CLI est l’interface en ligne de commande de WordPress, utilisée pour effectuer des tâches d’administration et de développement de manière programmatique. La page du projet est http://wp-cli.org/ https://make.wordpress.org/cli/ suit les conventions Unix largement adoptées pour les codes de sortie : 0 signale une réussite (la condition principale de la commande a été satisfaite), tandis que les valeurs différentes de zéro signalent que la condition principale n’a pas été satisfaite. Cela peut représenter soit une erreur opérationnelle (la commande n’a pas pu effectuer l’opération demandée), soit un résultat négatif attendu que les scripts appelants sont destinés à tester (par exemple, « non installé »). Les scripts qui appellent des commandes WP-CLI peuvent examiner le code de sortie pour déterminer s’ils doivent continuer, réessayer ou abandonner.

Codes de sortie standard

Code de sortie Signification
0 La commande s’est exécutée correctement. L’opération demandée a été effectuée comme prévu.
1 La commande a échoué. WP-CLI n’a pas pu effectuer l’opération comme prévu (par exemple, arguments invalides, WordPress introuvable ou erreur fatale rencontrée).

WP_CLI::error() (documentation) est la manière conventionnelle de signaler un échec et de quitter avec le code 1.

WP_CLI::halt() (documentation) peut être utilisé pour quitter avec un code différent de zéro spécifique lorsque la commande doit communiquer un résultat particulier au script appelant.

Codes de sortie pour les commandes renvoyant un résultat booléen

Certaines commandes sont conçues pour communiquer directement un résultat binaire via le code de sortie plutôt que via la sortie standard. Ces commandes utilisent toujours les codes standard 0/1, mais 1 signifie « condition non satisfaite » plutôt que « erreur opérationnelle ». Par exemple :

  • wp plugin is-installed <plugin> se termine avec le code 0 si l’extensionExtension Une extension est un logiciel contenant un ensemble de fonctions qui peuvent être ajoutées à un site web WordPress. Elle peut étendre les fonctionnalités ou ajouter de nouvelles fonctions à vos sites web WordPress. Les extensions WordPress sont écrites dans le langage de programmation PHP et s’intègrent parfaitement à WordPress. Elles peuvent être gratuites dans le répertoire des extensions de WordPress.org https://wordpress.org/plugins/ ou proposées moyennant paiement par un éditeur tiers. est installée, et avec le code 1 si elle ne l’est pas.
  • wp theme is-installed <theme> suit le même modèle.
  • wp core is-installed se termine avec le code 0 lorsque WordPress est installé, et avec le code 1 lorsqu’il ne l’est pas.

Utilisez le code de sortie 1 pour signaler une « condition non satisfaite » (plutôt qu’une erreur) lorsque :

  1. Le résultat de la commande est binaire (réussite/échec, trouvé/introuvable) et est destiné à être testé directement dans une condition shell.
  2. L’intention est explicitement documentée afin que les auteurs de scripts sachent que le code de sortie représente un résultat, et non une erreur.

Ne renvoyez pas un code de sortie différent de zéro pour des conditions qui sont informatives plutôt qu’un résultat définitif (par exemple, une commande de liste qui ne trouve aucun élément reste une opération réussie : elle a renvoyé une liste vide).

Utilisation des codes de sortie dans les scripts

Comme WP-CLI utilise des codes de sortie standard, vous pouvez utiliser directement les commandes WP-CLI dans des conditions shell :

# Vérifier si une extension est installée avant d’essayer de l’activer
if wp plugin is-installed my-plugin; then
    wp plugin activate my-plugin
else
    echo "Extension non installée"
    exit 1
fi

Vous pouvez également examiner $? après toute commande WP-CLI pour vérifier si elle a réussi :

wp core update
if [ "$?" -ne 0 ]; then
    echo "La mise à jour a échoué"
fi