Bash (shell de Unix)


Bash es un lenguaje de comandos y shell Unix escrito por Brian Fox para el Proyecto GNU como un reemplazo de software libre para el shell Bourne . [10] [11] Publicado por primera vez en 1989, [12] se ha utilizado como el shell de inicio de sesión predeterminado para la mayoría de las distribuciones de Linux . [13] También está disponible una versión para Windows 10 a través del Subsistema de Windows para Linux . [14] También es el shell de usuario predeterminado en Solaris 11. [15]Bash también era el shell predeterminado en todas las versiones de Apple macOS antes de la versión 2019 de macOS Catalina , que cambió el shell predeterminado a zsh , aunque Bash actualmente permanece disponible como un shell alternativo. [dieciséis]

Bash es un procesador de comandos que normalmente se ejecuta en una ventana de texto donde el usuario escribe comandos que provocan acciones. Bash también puede leer y ejecutar comandos desde un archivo, llamado script de shell . Como la mayoría de los shells de Unix, admite el agrupamiento de nombres de archivo (coincidencia de comodines), canalización , aquí documentos , sustitución de comandos , variables y estructuras de control para pruebas de condición e iteración . Las palabras clave , la sintaxis , las variables de ámbito dinámico y otras características básicas deltodos los idiomas se copian de sh . Otras características, por ejemplo, el historial , se copian de csh y ksh . Bash es un shell compatible con POSIX , pero con varias extensiones.

El nombre del shell es un acrónimo de Bourne Again Shell , un juego de palabras con el nombre del shell Bourne al que reemplaza [17] y la noción de " nacer de nuevo ". [18] [19]

Un agujero de seguridad en Bash que data de la versión 1.03 (agosto de 1989), [20] apodado Shellshock , fue descubierto a principios de septiembre de 2014 y rápidamente condujo a una variedad de ataques en Internet . [21] [22] [23] Los parches para corregir los errores se pusieron a disposición poco después de que se identificaron.

Brian Fox comenzó a codificar Bash el 10 de enero de 1988, [24] después de que Richard Stallman se sintiera insatisfecho con la falta de progreso de un desarrollador anterior. [10] Stallman y la Free Software Foundation (FSF) consideraron un shell gratuito que podría ejecutar scripts de shell existentes tan estratégicos para un sistema completamente libre construido a partir de código BSD y GNU que este fue uno de los pocos proyectos que ellos mismos financiaron, con Fox emprendiendo el trabajo como empleado de la FSF. [10] [25] Fox lanzó Bash como beta, versión .99, el 8 de junio de 1989, [12] y siguió siendo el principal encargado de mantenimiento hasta mediados de 1992 [26] y mediados de 1994,[27] cuando fue despedido de la FSF [28] y su responsabilidad fue transferida a otro colaborador temprano, Chet Ramey. [29] [30] [31]

Desde entonces, Bash se ha convertido, con mucho, en el shell más popular entre los usuarios de Linux, convirtiéndose en el shell interactivo predeterminado en las diversas distribuciones de ese sistema operativo [32] [33] (aunque el shell de Almquist puede ser el shell de scripting predeterminado) y en las versiones de macOS de Apple antes de Catalina en octubre de 2019. [34] [35] [13] Bash también ha sido portado a Microsoft Windows y distribuido con Cygwin y MinGW , a DOS por el proyecto DJGPP , a Novell NetWare , a OpenVMS por el proyecto GNV, [36 ] aArcaOS , [37] y Android a través de varias aplicaciones de emulación de terminal.