Estado de salida ($?) variable en Linux

ps es una variable que contiene el valor de retorno del último comando ejecutado. «eco $?» muestra 0 si el último comando se ha ejecutado con éxito y muestra un valor distinto de cero si se ha producido algún error. El bash establece «$?» Al estado de salida del último proceso ejecutado. Por convención, 0 es una salida exitosa y distinto de cero indica algún tipo de error. Se puede utilizar para comprobar si el comando anterior se ha ejecutado sin errores. Si se ha ejecutado correctamente, almacena 0. “$?” también es útil en scripts de shell como una forma de decidir qué hacer dependiendo de cómo funcionó el último comando ejecutado al verificar el estado de salida.

Trabajar con «$?» operador

1. Su valor predeterminado es 0 cuando el sistema se inicia y aún no se ha ejecutado ningún comando. Incluso si el último comando no se ha ejecutado con éxito y el sistema se reinicia, obtenemos su valor como 0 cuando se ingresa el siguiente comando en la terminal. 

echo $?

2. Devuelve el estado de salida del último comando ejecutado. En el ejemplo que se menciona a continuación, no hay un comando como eccho en UNIX y, por lo tanto, el último proceso no se ejecutó correctamente. Entonces $? almacena un valor distinto de cero que es el estado de salida del último comando ejecutado. 

eccho
echo $?

example for $? operator

3. En el ejemplo que se menciona a continuación, si el archivo existe (puede ser un directorio o un archivo), el valor devuelto por el comando «ls» será 0 (es decir, el comando se ejecutó con éxito), de lo contrario, mostrará un número que es distinto de cero. El número depende del programa. Con referencia a la imagen a continuación, considere que, de manera predeterminada, el «archivo» no existe, entonces $? almacena un valor de retorno de 2 (el comando no se ejecutó con éxito), pero una vez creado usando touch , muestra 0 ya que el comando ls devuelve 0 ya que el archivo existe.

ls file
echo $?
touch file 
echo $?

example for $? operator

4. Además, cuando ingresamos valores verdaderos y falsos simples en la terminal, muestra 0 como verdadero, no hace nada más que salir con un código de estado 0. Pero si damos falso, entonces 1 se imprimirá como salidas falsas con código de estado 1.

true
echo $?
false
echo $?

example for $? operator

Publicación traducida automáticamente

Artículo escrito por mharshita31 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *