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