Comparar sh shell vs. Intento

Comparar sh shell vs. Intento
Cualquier sistema operativo moderno de Unix/Linux viene con el mierda y los shells de Bash instalados de forma predeterminada. Si bien ambos son de naturaleza muy similar, uno ofrece más que el otro.

Esta guía se sumergirá profundamente en las diferencias y similitudes entre el mierda Y las conchas de Bash.

Concha de Linux

En Linux, un shell es un programa dedicado para la interpretación de comandos. Interpreta el lenguaje de comando y le dice al sistema que realice las tareas descritas. No es parte del kernel, pero puede realizar tareas, como ejecutar programas y crear archivos.

La funcionalidad de un caparazón se entiende mejor con un ejemplo. Abra el terminal en su sistema y ejecute el siguiente comando:

$ Fecha

Aquí, notamos lo siguiente:

  • El shell predeterminado tomó el comando "fecha", interpretado y ejecutó el fecha herramienta.
  • También imprimió la salida en la pantalla de la consola.

Las conchas también pueden venir con sus propios idiomas. Bash Scripting, por ejemplo, es potente en la automatización de tareas muy complejas y logrando maravillas.

Hay muchas conchas disponibles para la plataforma Linux. Obviamente, lo más popular es el shell de la fiesta. Aquí hay algunos proyectiles alternativos que vale la pena ver:

  • Zsh con oh mi zsh
  • Cáscara de pescado

The Bourne Shell (SH)

Bourne Shell es el shell predeterminado para la versión 7 Unix. Desarrollado originalmente por Stephen Bourne en Bell Labs, fue un reemplazo para el Shrompson Shell. The Bourne Shell comenzó su viaje en 1979. Obtenga más información sobre la historia de Bourne Shell en Wikipedia.

Incluso hasta el día de hoy, Bourne Shell está disponible en casi todos los sistemas de Linux. La ubicación del binario es la siguiente:

$ que sh

Los sistemas similares a unix continúan teniendo Bourne Shell en /usr/bin/sh. Puede que no sea el Bourne Shell sino un enlace simbólico/duro a un caparazón más compatible. Puede verificarlo ejecutando el siguiente comando:

$ archivo -h /bin /sh

El mierda Shell es también el nombre del lenguaje de programación de comandos. Este idioma es descrito por Posix Standard que todos los sistemas de unix y unix deben seguir. El shell de Bourne que hemos discutido hasta ahora es una implementación de mierda.

The Bourne Again Shell (Bash)

Ahora, hemos venido al caparazón moderno que todos conocemos y amamos: el shell de Bash, también conocido como el "Bourne Again Shell."El nombramiento es un juego de palabras que indica que reemplaza el shell de Bourne.

Desarrollado por Brian Fox para el proyecto GNU, Bash es un shell unix y un lenguaje de comando. Fue lanzado por primera vez en 1989. Desde entonces, ha sido el shell de inicio de sesión predeterminado para la mayoría de las distribuciones de Linux. Obtenga más información sobre la historia del shell de Bash en Wikipedia.

Bash es un superconjunto de mierda, lo que significa que incorpora características de mierda y algo más. Como idioma, la mayoría de los comandos hacen lo mismo que mierda. Sin embargo, Intento ¿No es un caparazón compatible con Posix, sino un dialecto del lenguaje de shell Posix. Bash está destinado a ser la implementación conforme de IEEE Posix Shell y Herramientas de la especificación IEEE POSIX (IEEE Standard 1003.1).

Verifique la ubicación del binario Bash Shell:

$ que fiesta

Diferencias entre sh y bash

Proporcionó el contexto histórico, mierda y Bash comparte más similitudes que las diferencias, ya que una es una mejor implementación de la otra. De todos modos, aquí hay algunas diferencias de características notables que uno debería saber.

Shell predeterminado

En la mayoría de los sistemas modernos de hoy, Bash es el shell predeterminado.

Ubicación binaria

Verifique la ubicación binaria de ambos conchas:

$ que sh
$ que fiesta

Característica

En comparación con mierda, Bash ofrece mucha más flexibilidad y sintaxis que parecen un lenguaje de programación moderno. Aquí hay algunas características adicionales que Bash ofrece mierda:

  • Bash admite la finalización de la línea de comandos con el PESTAÑA llave
  • Navegar a través del historial de comandos usando el ARRIBA Clave de flecha o "Ctrl + R"
  • Cálculo aritmético sin ninguna herramienta de terceros
  • Matrices asociativas
  • Atajos de teclado
  • Soporte de personalización para la presentación BASH predeterminada
  • Epochseconds y variables de entorno de EpochrealTime
  • Expansiones de aparato ortopédico

Cumplimiento de Posix

Por defecto, Bash no cumple con Posix, mientras que mierda es. Sin embargo, podemos ejecutar bash en el modo compatible con POSIX con el siguiente comando:

$ Bash -Posix

Si está escribiendo un script bash pero necesita el estándar POSIX, use el siguiente código al principio:

#!/bin/bash
set -o Posix

Aquí el colocar El comando le dice a Bash que habilite el modo POSIX.

Facilidad de uso

Bash ofrece un lenguaje de línea de comandos más moderno en comparación con mierda. En este sentido, tendrá un momento más cómodo usando Bash.

Portabilidad

En comparación con Bash, mierda Ofrece una mejor portabilidad.

Porque mierda Cumple con Posix, cualquier shell que admite Posix podrá ejecutar mierda guiones. Por ejemplo, Bash puede ejecutarse mierda Scripts en modo POSIX.

Scripting

Cuando está escribiendo un script en Bash, el código solo se garantiza que será compatible con Bash.

Por otro lado, al secar las secuencias de comandos mierda, El código se puede ejecutar en cualquier shell. Eso es porque mierda Define el lenguaje original de scripts de shell.

Conclusión

En este artículo, exploramos la historia, las similitudes y las diferencias entre mierda y Bash. Mierda es el predecesor de la fiesta. Ambos están disponibles en todos los sistemas modernos de Unix/Linux. Mientras que Bash ofrece una experiencia más cómoda y fácil de usar, mierda ofrece compatibilidad, portabilidad y sintaxis/comportamiento estandarizado.

¿Eres nuevo en las secuencias de comandos de Bash?? Este tutorial de secuencias de comandos Bash para principiantes cubre todo lo necesario para escribir sus guiones de Bash. Esperamos que hayas encontrado este artículo útil. Echa un vistazo a otros artículos de Sugerencia de Linux para obtener más consejos y tutoriales.