¿Qué shell usa todo el mundo?
Tres shells principales y sus puntos de divergencia
Los tres shells más conocidos y ampliamente soportados en la mayoría de los sistemas UNIX son el shell Bourne (shell de AT&T o Linux BASH en Linux), Shell C (shell Berkeley o TCSH en Linux), shell C (shell Berkeley o TCSH en Linux) y shell Korn (un superconjunto del shell Bourne). Estos tres shells se comportan de manera muy similar en modo conversacional (interactivo), pero tienen algunas diferencias en la sintaxis y la eficiencia de ejecución cuando se usan como lenguajes de archivos de comandos.
El shell Bourne es un shell estándar de UNIX comúnmente utilizado para administrar sistemas. La mayoría de los comandos de administración del sistema, como rc start, stop y Shutdown, son comandos del shell Bourne que los administradores del sistema suelen utilizar cuando inician sesión como root en modo de usuario único. El shell Bourne fue desarrollado por AT&T y es conocido por su simplicidad y velocidad. El valor predeterminado para el indicador del shell Bourne es $.
El shell C, desarrollado en Berkeley, incluye nuevas funciones como historial de línea de comandos, alias, operaciones integradas, finalización de nombres de archivos y control de trabajos. Para los usuarios que a menudo ejecutan shells en modo conversación, prefieren el shell C, pero para los administradores de sistemas, prefieren el shell Bourne porque es más simple y rápido que el shell C, y el indicador del shell C es el predeterminado.
El shell Korn es un superconjunto del shell Bourne, desarrollado por David Korn de AT&T Company. Agrega muchas características sobre el shell C. Agrega muchas características que lo hacen más avanzado que el shell C, incluido el historial editable, alias, funciones, comodines de expresión regular, aritmética incorporada, control de trabajos, coprocesamiento y capacidades especiales de cancelación de errores. El shell Bourne es casi completamente compatible con el shell Korn, por lo que los programas desarrollados bajo el shell Bourne aún se pueden ejecutar en el shell Korn, y el valor predeterminado del indicador del shell Korn es $.
El shell Korn es superior al shell Bourne en muchos aspectos, aunque es un poco menos eficiente; sin embargo, es difícil comparar el shell Korn con el shell C porque los dos shells son diferentes en muchos aspectos; . Sin embargo, es difícil comparar el caparazón Korn con el caparazón C porque ambos tienen sus puntos fuertes en muchos aspectos. En términos de eficiencia y facilidad de uso, el shell Korn es superior al shell C y creo que muchos usuarios tienen una impresión negativa de la eficiencia de ejecución del shell C.
En términos de sintaxis del shell, el shell Korn está más cerca de un lenguaje de programación ordinario. Tiene funciones de subrutina y proporciona más tipos de datos. De los tres shells, el shell Bourne tiene la menor cantidad de tipos de datos y solo proporciona variables de cadena y tipos booleanos. En general, el shell Korn es el mejor de los tres shells, seguido por el shell C y luego el shell Bourne, pero hay otros factores que deben considerarse en el uso real.
Por ejemplo, si la velocidad es la opción más importante, probablemente deberías usar el shell Bourne, ya que es el shell más básico y el más rápido.
Autor: benny_feng Fecha: 2006-10-17
tcsh es un programa gratuito que existe desde hace algunos años (el shell C de Linux en realidad usa tcsh), aunque No es una parte estándar de UNIX, pero puedes descargarlo desde muchos lugares. Si eres fanático del shell C, te sugiero que pruebes tcsh porque al menos puedes usarlo como un shell C. Si está dispuesto a tomarse el tiempo para aprenderlo, también puede disfrutar de sus muchas características nuevas y excelentes, como:
1.tcsh proporciona un editor de línea de comandos.
2. tcsh proporciona la función de finalización de línea de comando.
3. tcsh proporciona la función de corrección ortográfica. Detecta y corrige automáticamente comandos o palabras mal escritas en la línea de comando.
4. Detectar comandos peligrosos y emitir alertas para evitar la ejecución accidental de rm* (este es un comando muy fatal).
5. Proporcionar accesos directos a los comandos más utilizados.
bash es compatible con versiones anteriores del shell Bourne e integra muchas características del shell C y Korn. Estas funciones en realidad están disponibles en el shell C (y en tcsh, por supuesto), pero no eran compatibles con el antiguo shell Bourne. Aquí hay seis mejoras importantes para bash (que cubriré en detalle en un capítulo posterior):
1. bash admite señales y comandos de trabajo, que se analizan más adelante en este capítulo.
2. El comando alias se utiliza para crear un nombre alternativo para un comando, actuando como una macro que se expande al comando que representa. Un alias no reemplaza el nombre del comando, simplemente le da otro nombre al comando.
3. Historial de comandos El shell BASH agrega la función de historial de comandos proporcionada por el shell C, que utiliza una utilidad de historial para registrar los comandos ejecutados recientemente. Los comandos están numerados comenzando desde 1, siendo el valor predeterminado 500. La utilidad de historial es un almacenamiento a corto plazo que registra los comandos ejecutados recientemente. Para ver estos comandos, puede escribir historial en la línea de comando y se mostrará una lista de los comandos ejecutados recientemente, precedidos por un número.
Estrictamente hablando, cada uno de estos comandos se denomina evento. Los eventos describen acciones realizadas (comandos ejecutados). Los eventos se numeran según el orden en que se ejecutan; los eventos más nuevos tienen números más altos y estos eventos se identifican por su número o los caracteres iniciales del comando.
La utilidad de historial le brinda una referencia a un evento anterior, la coloca en la línea de comando y le permite ejecutar ese evento. La forma más sencilla es utilizar las teclas de flecha hacia arriba y hacia abajo para colocar un evento del historial en la línea de comando a la vez; no es necesario utilizar el historial primero para mostrar la lista; Presione la tecla arriba una vez y el evento histórico anterior aparecerá en la línea de comando. Presione la tecla arriba nuevamente y el siguiente evento histórico aparecerá en la línea de comando. Presione para mostrar el evento anterior en la línea de comando.