BASH es un acrónimo de Bourne Again Shell, un nombre de juego de palabras, que es un tributo a Bourne Shell (es decir, inventado por Steven Bourne).
Bash es un programa shell escrito por Brian Fox como una versión mejorada del programa ‘sh’ de Bourne Shell. Es un proyecto GNU de código abierto. Fue lanzado en 1989 como una de las distribuciones shell más populares de los sistemas operativos GNU/Linux. Proporciona mejoras funcionales sobre Bourne Shell tanto para programación como para usos interactivos. Incluye edición de línea de comandos, combinación de teclas, historial de comandos con tamaño ilimitado, etc.
En términos básicos, Bash es un intérprete de línea de comandos que generalmente se ejecuta en una ventana de texto donde el usuario puede interpretar comandos para realizar varias acciones. La combinación de estos comandos como una serie dentro de un archivo se conoce como Shell Script. Bash puede leer y ejecutar los comandos desde un Shell Script.
Bash es el shell de inicio de sesión predeterminado para la mayoría de las distribuciones de Linux y Mac OS de Apple. También es accesible para Windows 10 con una versión y un shell de usuario predeterminado en Solaris 11.
¿Qué es un Shell?
En informática, un programa shell proporciona acceso a los componentes de un sistema operativo. El shell brinda a los usuarios (u otros programas) una forma «adentro» del sistema; el shell define el límite entre el interior y el exterior.
Hay dos tipos de shells de sistemas operativos:
- Los shells de interfaz de línea de comandos (CLI, por sus siglas en inglés) como bash ofrecen a los usuarios un modo conciso y eficiente de interactuar con el sistema operativo, sin requerir la sobrecarga de una interfaz gráfica de usuario.
- Los shells de interfaz gráfica de usuario (GUI, por sus siglas en inglés), como Windows y macOS, se consideran más fáciles de usar para principiantes, pero generalmente también ofrecen programas que emulan un shell basado en CLI para administradores de sistemas u otros usuarios avanzados que prefieren interactuar en un símbolo del sistema.
- Bash es el shell CLI más utilizado para sistemas operativos basados en Unix, incluido Linux.
¿Para qué sirve bash?
Bash, al igual que otras CLI, se usa para cualquier aplicación informática que requiera precisión al trabajar con archivos y datos, especialmente cuando es necesario buscar, clasificar, manipular o procesar grandes cantidades de archivos o datos de alguna manera.
Algunos de los casos de uso más comunes de Bash incluyen:
- Los administradores de sistemas usan Bash para administrar los sistemas de manera sistemática y reproducible. Los administradores de sistemas usan Bash para solucionar problemas de sistemas que no funcionan como se desea o se espera iniciando sesión en los sistemas y revisando las configuraciones del sistema y las conexiones de red. Los administradores de sistemas también confían en los scripts de Bash para distribuir actualizaciones y parches de software, monitorear sistemas en ejecución y actualizar y configurar sistemas.
- Los desarrolladores de software confían en Bash para muchas tareas de desarrollo. Bash se puede utilizar para automatizar tareas de desarrollo de software, como compilación de código, depuración de código fuente, gestión de cambios y pruebas de software.
- Los ingenieros de redes usan Bash para probar, configurar y optimizar el rendimiento de la red en las redes organizacionales.
- Los investigadores de informática utilizan Bash para administrar sistemas de investigación y realizar investigaciones en esos sistemas.
- Los aficionados y los usuarios avanzados utilizan Bash para interactuar con sus sistemas, ejecutar programas y mantener sus sistemas.
Bash se usa comúnmente de forma interactiva, pero también se puede usar para escribir scripts de shell. Casi cualquier tarea informática se puede automatizar mediante un script Bash. Los scripts de Bash se pueden ejecutar a pedido o programar para que se ejecuten periódicamente.
¿Cómo funciona bash?
A primera vista, bash parece ser un sistema simple de comando/respuesta, donde los usuarios ingresan comandos y bash devuelve los resultados después de ejecutar esos comandos. Sin embargo, bash también es una plataforma de programación y los usuarios pueden escribir programas que acepten entradas y produzcan salidas usando comandos de shell en scripts de shell.
Uno de los comandos bash más básicos, ls, hace una cosa: mostrar el contenido del directorio. Por sí mismo, este comando enumera solo los nombres de los archivos y subdirectorios en el directorio de trabajo actual.