Salir del script Bash

Muhammad Husnain 20 junio 2023
  1. ¿Qué es BashScript?
  2. Cuándo evitar el uso de Bash Script (es decir, limitaciones)
  3. Cómo salir de un guión
Salir del script Bash

Este artículo presenta brevemente las secuencias de comandos de Bash y analiza cómo salir de una secuencia de comandos de Bash en caso de algún error. Además, analiza las limitaciones y los beneficios de las secuencias de comandos de Bash.

¿Qué es BashScript?

Un script/programa de computadora le dice a la computadora qué hacer y qué decir. De manera similar, un script de Bash es una secuencia de comandos que guían a Bash sobre qué operaciones realizar.

Un script Bash es un archivo de texto simple que contiene un conjunto de comandos para ejecutar. Este conjunto de comandos puede ser una combinación secuenciada de muchas instrucciones de línea de comandos que podemos escribir directamente en la interfaz de Bash (por ejemplo, ls, cd, rm, etc.).

Cualquier comando ejecutado desde la línea de comandos también se puede poner en la secuencia de comandos y producir el mismo resultado que tendría en la línea de comandos. De manera similar, cada comando en un archivo de secuencia de comandos también se puede ingresar directamente en la interfaz de línea de comandos de Bash y los resultados serán los mismos.

No se necesitan ajustes adicionales. Solo necesita escribir los comandos de acuerdo con su sintaxis, y le darán los mismos resultados.

En lugar de colocarlos en la línea de comandos, los estamos escribiendo en un archivo de texto simple.

La extensión .sh se usa comúnmente con los programas Bash (por ejemplo, loopScript.sh). Como sabrá, Linux es un sistema operativo sin extensiones; por lo tanto, la extensión no es obligatoria para que un script funcione correctamente.

Puede encontrar más información sobre cómo crear su primer archivo Bash Script ejecutable aquí.

Cuándo evitar el uso de Bash Script (es decir, limitaciones)

Hay ciertos casos en los que se deben evitar las secuencias de comandos de Bash. Algunos de ellos son:

  1. Tareas que necesitan muchos recursos, especialmente cuando la velocidad es el foco principal (funciones de clasificación, funciones hash, funciones recursivas, etc.)
  2. Funciones que necesitan muchas operaciones matemáticas, como la aritmética de punto flotante, o que usan números complejos para los cálculos (en su lugar, use C++ o FORTRAN). Se debe usar C o Java al crear aplicaciones portátiles entre diferentes plataformas.
  3. Se requiere programación estructurada para aplicaciones complejas.
  4. Programas críticos para el negocio en los que se juega el futuro de su empresa.
  5. Situaciones en las que la seguridad es crítica, como cuando necesita garantizar la integridad de su sistema y protegerlo contra intrusiones, grietas o daños.
  6. El proyecto se compone de subcomponentes interconectados.
  7. Se requieren actividades de archivo a gran escala. (Bash solo puede acceder a archivos en serie línea por línea).
  8. Los arreglos multidimensionales requieren soporte nativo.
  9. Se requieren estructuras de datos, como colas o gráficos.
  10. Necesidad de crear o administrar interfaces gráficas o visuales de usuario.
  11. Se requiere interactuar con hardware o periféricos externos.
  12. Se requieren puertos de E/S o enchufes.
  13. Debe usar bibliotecas integradas o algún código heredado antiguo.
  14. Aplicaciones propietarias de código cerrado (los scripts de Shell ponen el código fuente a disposición de cualquiera que quiera verlo).

Cómo salir de un guión

Hay algunos casos, como que hemos escrito una secuencia de comandos para probar algún código y necesitamos salir de la secuencia de comandos en caso de que el código falle, entonces podemos usar el comando salir en la secuencia de comandos. Una secuencia de comandos se termina con el comando salir, como un programa C.

El comando “salir” también se puede usar para la comunicación entre procesos (es decir, el argumento pasado al comando “salir” se devuelve al proceso principal del script).

Cada comando produce un estado de éxito o fracaso (un estado de retorno o un código de salida). Un comando exitoso devuelve 0; un comando fallido produce un valor distinto de cero, comúnmente entendido como un código de error.

Al completarse con éxito, la mayoría de los comandos, programas y utilidades de UNIX que funcionan bien devuelven un código de salida 0, aunque también hay algunas excepciones.

Las funciones de un script y el propio script devuelven un estado de salida. El estado de salida está determinado por el último comando de la función o script.

La sintaxis del comando salir es:

exit nn

Se puede usar un comando exit nn dentro de un script para proporcionar al shell un estado de salida nn (nn debe ser un número entero en el rango de 0 - 255). El estado de salida es el estado de salida del último comando ejecutado en el script cuando termina con una salida sin parámetro (anterior a la salida).

Ejemplo:

#!/bin/bash

FIRST COMMAND
..
..
LAST COMMAND
# It will exit the script with the status of the last command.
exit

exit, exit $? o simplemente omitir exit tienen el mismo significado: salir con el estado del último comando. Después de que finaliza el script, podemos verificar el estado usando el comando echo $?.

Ciertos códigos de salida tienen significados reservados y no deben ser definidos por los usuarios. Dichos códigos y sus significados se enumeran a continuación.

Código de salida Descripción
1 Detectar todos los errores generales
2 si las funciones de shell incorporadas se usan incorrectamente
126 el comando invocado no se puede ejecutar
127 No se encuentra el comando invocado
128 argumentos inválidos pasados
130 el script se termina usando las teclas Ctrl+C
255* Estado de salida fuera de rango
Muhammad Husnain avatar Muhammad Husnain avatar

Husnain is a professional Software Engineer and a researcher who loves to learn, build, write, and teach. Having worked various jobs in the IT industry, he especially enjoys finding ways to express complex ideas in simple ways through his content. In his free time, Husnain unwinds by thinking about tech fiction to solve problems around him.

LinkedIn

Artículo relacionado - Bash Exit