La pregunta es bastante directa. Puedo obtener el código de salida del comando anterior usando $?
. Pero, ¿qué es exactamente?
No creo que sea una variable, porque no puede tener ningún carácter especial en el nombre de la variable que no sea _
.
foo?foo=10
dará como resultado el error:foo?foo=10: command not found
Entonces, si no es una variable, ¿qué es? ¿Hay otros como este?
Respuesta aceptada:
¿Qué es?
$?
es una variable integrada que almacena el estado de salida de un comando, una función o el propio script.
$?
lee el estado de salida del último comando ejecutado. Después de que una función regresa, $?
da el estado de salida del último comando ejecutado en la función. Esta es la forma en que Bash da a las funciones un "valor de retorno". Devuelve en caso de éxito o un número entero en el rango
1 - 255
por error.
¿Hay otros como este también?
Sí, hay varias variables integradas de este tipo en bash. Puede ver una lista aquí.
Consulte:http://www.tldp.org/LDP/abs/html/exit-status.html