Commande true de Linux

Linux 命令大全Référence des commandes Linux


Qu'est-ce que la commande true

trueC'est l'une des commandes les plus simples des systèmes Linux/Unix, et elle n'a qu'une seule fonction :Toujours renvoyer un succès (code de statut de sortie 0)。

Cette commande semble simple, mais elle a des utilisations importantes dans la programmation de scripts shell. Elle équivaut à une opération "ne rien faire mais toujours réussir".


Syntaxe de base

Exemples

true [--help] [--version]

Options

Option Description
--help Afficher les informations d'aide et quitter
--version Afficher les informations de version et quitter

Comment ça marche

trueLe processus d'exécution de la commande est très simple :

  1. Lorsque vous saisisseztrueet appuyez sur Entrée
  2. Le système exécute cette commande
  3. La commande se termine immédiatement sans rien faire
  4. Renvoie le code d'état de sortie 0 (indiquant le succès)

Cas d'utilisation pratiques

1. En tant que condition d'une boucle infinie

Exemples

while true; do
    echo "Ceci est une boucle infinie"
    sleep 1
done

Dans cet exemple,while truecrée une boucle infinie parce quetruerenvoie toujours un succès (0), donc la condition de boucle est toujours vraie.

2. Comme opération réussie par défaut

Exemples

commande || true

Cette syntaxe signifie : sicommandéchoue à s'exécuter, alors exécuteztrue(réussit toujours), cela garantit que l'expression entière renvoie toujours un statut de réussite.

3. Comme espace réservé dans les scripts

Exemples

if [ condition ]; then
    :  # Ne rien faire
else
    true  # Cela peut aussi s'écrire pour ne rien faire
fi

Icitruesert de substitut à un no-op, ce qui rend la structure du code plus claire.


Comparaison avec la commande false

Linux dispose également d'unefalsecommande correspondante, qui renvoie toujours un échec (code de statut de sortie 1). Le tableau ci-dessous montre les différences entre elles :

Commande Fonction Code de statut de sortie Utilisation typique
vrai Ne fait rien, renvoie un succès 0 Boucles infinies, en ignorant les erreurs
false Ne fait rien, renvoie un échec 1 Test de la gestion des erreurs, vérifications conditionnelles

Détails d'implémentation

Sur la plupart des systèmes Linux,trueest une commande intégrée (commande interne du shell), mais il existe généralement aussi une version binaire autonome :

Exemples

$ type -a true
true est une commande interne du shell
true est /usr/bin/true
true est /bin/true

Son implémentation est extrêmement simple et peut être représentée en C comme suit :

Exemples

int main() {
    return 0;
}

Exercices pratiques

Essayez de l'exécuter directement dans le terminaltrue, puis vérifiez le code de statut de sortie :

Exemples

vrai
echo $?  # Cela affichera 0

Créez un script de boucle infinie qui affiche l'heure actuelle toutes les 5 secondes :

Exemples

#!/bin/bash
while true; do
    date
    sleep 5
done

Testtruele comportement dans les instructions conditionnelles :

Exemples

if true; then
    echo "Ceci s'exécutera toujours"
fi

FAQ

Q : La commande true ne fait-elle vraiment rien ?R : Oui, elle n'effectue aucune opération réelle, elle renvoie simplement un statut de sortie réussi.

Q : Pourquoi avons-nous besoin d'une commande apparemment aussi inutile ?R : En programmation de scripts, nous avons parfois besoin d'un espace réservé ou d'une condition qui réussit toujours,trueet cette commande répond exactement à ce besoin.

Q : Quelle est la différence entre true et deux-points (:) ?R : Dans la plupart des shells,:est aussi une commande qui ne fait rien, et son comportement est identiquetrueà true. Cependant,:est un builtin pur du shell, tandis quetruepeut avoir une version binaire autonome.


Résumé

trueBien que la commande soit simple, elle est un outil pratique en programmation de scripts shell. Ses principales caractéristiques incluent :

  • Renvoie toujours un succès (code de statut de sortie 0)
  • N'effectue aucune opération réelle
  • Souvent utilisé pour les boucles infinies, la gestion des erreurs et les espaces réservés dans le code

Linux 命令大全Référence des commandes Linux

Autres extensions