Salida de Bash por error

Salida de Bash por error
Se devuelve un código de estado de salida cuando se ejecuta cualquier comando Linux desde el terminal, ya sea el comando es exitoso o no tiene éxito. Este código de estado se puede usar para mostrar el mensaje de error para una ejecución no exitosa o realizar cualquier tarea en particular mediante el script de shell. El código de estado de salida siempre representa por un número. El valor de este código es 0 para la ejecución exitosa de cualquier comando Linux y devuelve cualquier número de 1 a 255 para la ejecución sin éxito del comando. Cómo se puede usar el código de estado existente desde el terminal y en el script bash se muestran en este tutorial.

Algunos códigos de estado de error comunes se mencionan a continuación.

Código Descripción Comentario
0 Indica una ejecución exitosa.
1 Se usa para captar todos los errores generales. "Divide por cero", "operación no permitida", etc. pueden ser los mensajes de error de este código.
2 Indica el abuso de los empotrados de la concha. "Palabra clave faltante", "No hay dicho archivo o directorio", etc. pueden ser los mensajes de error de este código.
126 Se genera cuando el comando no puede ejecutar. El problema de permiso o la clave requerida no disponible puede generar este código de estado
127 Normalmente genera para el problema de la ruta de comando. "Comando no encontrado" puede ser el mensaje para este código de error.
130 Genera un error fatal. "Script terminado por Ctrl+C" puede ser el mensaje de este código.
255* Indica el código de salida fuera del rango.

Ejemplo-1: Lectura de código de salida del terminal

ps?'La variable de shell se puede usar para mostrar el código de salida de cualquier comando. 'ls -la' es un comando válido y muestra la lista de archivos y carpetas del directorio de trabajo actual. El valor de '$?'será 0 después de ejecutar el comando' ls -la '. 'ls -xyz' es un comando inválido y '$?'devolverá 2 como código de error después de ejecutar el comando.

$ ls -la
$ Echo $?
$ ls -xyz
$ Echo $?

Ejemplo-2: Lectura de código de salida en el script bash

Crear un archivo bash llamado Read_file.mierda Con el siguiente script. En este script, el nombre del archivo se tomará como entrada del usuario y, el número total de líneas, palabras y caracteres de ese archivo se contará utilizando el comando 'WC'. Si el nombre del archivo es válido, entonces el valor de $ status_code es 0 y si el nombre del archivo no es válido, entonces el valor de $ status_code es 1.

Read_file.mierda

#!/bin/bash
echo "Ingrese el nombre de archivo"
leer el nombre de archivo
WC -LWC $ FileName
status_code = $?
echo "La salida del comando 'wc' es: $ status_code"

Ejemplo-3: Uso del valor del código de salida para hacer una tarea específica

Crear un archivo bash llamado Read_month.mierda Con el siguiente código. Aquí, se tomará un valor de fecha como entrada. El nombre del mes se recuperará del valor de la fecha si la fecha de entrada es válida, de lo contrario, aparecerá el mensaje de error de "fecha no válida". 'Si' se usa la condición en el script para verificar el código de estado de salida del comando de fecha. Si la condición es verdadera, entonces se imprimirá el mensaje de éxito y el nombre de la fecha de la fecha. Si la condición es falsa, entonces el mensaje de falla y el código de estado de salida, 1 se imprimirá.

Read_month.mierda

#!/bin/bash
Echo "Ingrese una fecha en el formato: aaa yyy-mm-dd"
leer date_value
current_month = $ (date -d "$ date_value" '+%b')
Si [$? -eq 0]
entonces
echo "el comando de fecha se ejecuta correctamente"
echo "El mes actual es $ Current_Month"
demás
echo "El comando de fecha no se ejecuta con éxito"
Salir 1
FI

Ejecutar el guión.

$ bash read_month.mierda

Ejemplo-4: usando && y || con código de salida

'&&' El operador lógico se utiliza para un código de salida exitoso y '||' El operador lógico se utiliza para un código de salida sin éxito. El siguiente comando imprimirá 'El archivo existe' si libro.TXT El archivo existe en la ubicación actual e imprima el archivo 'no existe' si libro.TXT El archivo no existe en la ubicación actual.

$ Cat Book.txt && echo "El archivo existe" || echo "el archivo no existe"

Conclusión:

Diferentes usos del código de estado de salida se muestran en este tutorial. Esperanza, el lector obtendrá un concepto claro sobre el código de estado de salida de Bash después de leer este tutorial.