GNU/Linux >> Tutoriels Linux >  >> Ubuntu

`$?` ? Est-ce une variable ?

La question est assez simple. Je peux obtenir le code de sortie de la commande précédente en utilisant $? . Mais qu'est-ce que c'est exactement ?

Je ne pense pas que ce soit une variable, car vous ne pouvez pas avoir de caractères spéciaux dans le nom de la variable autre que _ .

foo?foo=10

entraînera l'erreur :foo?foo=10: command not found

Donc si ce n'est pas une variable, qu'est-ce que c'est ? Y en a-t-il d'autres comme ça ?

Réponse acceptée :

Qu'est-ce que c'est ?

$? est une variable intégrée qui stocke l'état de sortie d'une commande, d'une fonction ou du script lui-même.

$? lit l'état de sortie de la dernière commande exécutée. Après le retour d'une fonction, $? donne l'état de sortie de la dernière commande exécutée dans la fonction. C'est la façon dont Bash donne aux fonctions une "valeur de retour". Il renvoie en cas de succès ou un entier dans la plage 1 - 255 en cas d'erreur.

Y en a-t-il d'autres aussi ?

Oui, il existe plusieurs variables intégrées de ce type dans bash. Vous pouvez voir une liste ici.
Référez-vous :http://www.tldp.org/LDP/abs/html/exit-status.html


Ubuntu
  1. Comment exécuter une commande stockée dans une variable ?

  2. Comment affecter la sortie d'une commande à une variable Shell ?

  3. La différence entre les opérateurs bash [[ Vs [ Vs ( Vs ((?

  4. Pourquoi définir une variable avant une commande est-il légal dans Bash ?

  5. | Dans Terminal Command ?

À la commande sous Linux

Commande de sortie Bash et codes de sortie

Commande Df sous Linux

Comment stocker une commande Linux en tant que variable dans un script shell

Interface de commandes

Explication de la commande d'exportation sous Linux