GNU/Linux >> Tutoriales Linux >  >> Ubuntu

`$?` ? ¿Es una variable?

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


Ubuntu
  1. ¿Por qué es legal establecer una variable antes de un comando en Bash?

  2. | ¿En Comando Terminal?

  3. ¿La variable de entorno Maven no funciona en otra terminal?

  4. ¿Cómo salir si falla un comando?

  5. Código de salida de asignación de variables a sustitución de comandos en Bash

Al mando en Linux

Comando de salida de Bash y códigos de salida

Comando Df en Linux

Cómo almacenar un comando de Linux como una variable en el script de Shell

Construcción de comandos

Comando de exportación en Linux explicado