Bash VS Zsh: diferencias y comparación

Bash Vs Zsh Differences



Intento shell es el shell predeterminado para Linux y se publica en sustitución de Bourne Shell. Muchas tareas automatizadas y soluciones de programación pueden realizarse mediante Intento fácilmente. Hay muchos otros shells disponibles en Linux para realizar el mismo tipo de trabajos como Intento . Cáscara Z o Zsh es uno de ellos que se inventa después Intento . Tiene muchas características como Bash pero algunas características de Zsh hacerlo mejor y mejorado que Bash, como corrección ortográfica, automatización de cd, mejor compatibilidad con temas y complementos, etc. Los usuarios de Linux no necesitan instalar el shell de Bash porque está instalado de forma predeterminada con la distribución de Linux. El shell Zsh o Z no está instalado en el sistema de forma predeterminada. Los usuarios necesitan instalar este shell para usarlo. Algunas funciones son comunes para Intento y Zsh pero existen algunas diferencias importantes entre estos caparazones que se describen en este artículo con una explicación adecuada.

Utilizando ' cd 'Comando

El comando 'cd' se usa tanto en el shell Bash como en el de Zsh para cambiar el directorio actual. La función mediante la cual se buscan de forma recursiva los directorios para encontrar archivos y carpetas se llama expansión de ruta recursiva que solo es compatible con zsh. Aquí se muestra el uso del comando 'cd' en bash y zsh shell.







Intento

Debe escribir la ruta completa del directorio en bash para cambiar el directorio y la expansión de la ruta recursiva no es compatible con bash.



$cd código/pitón



Zsh

El directorio y el archivo se pueden buscar fácilmente en este shell. Si escribe cd + espacio + c + tabulador en zsh shell, luego buscará cualquier nombre de archivo o carpeta que comience con ‘c 'Y mostrará el nombre del archivo o carpeta que se encuentra primero.





% cdc

Por ejemplo, si el código se encuentra la carpeta y se mostrará. Si escribiste de nuevo '/pag' luego mostrará los archivos y el nombre de la carpeta comienza con ' pag ’.

% cdpag



Corrección ortográfica

El corrector ortográfico es una función muy útil para cualquier shell. Los usuarios pueden corregir fácilmente el error de escritura con esta función. Esta función es compatible con ambos Intento y Zsh. Pero la corrección ortográfica se puede realizar de manera más eficiente en Zsh cascarón. El uso de esta función se muestra para ambos shells a continuación.

Intento

Supongamos que desea ir al directorio ' Música 'Pero ha escrito' Mugic ' por error, bash shell no detectará el error de ortografía de forma predeterminada y mostrará un mensaje de error: El fichero o directorio no existe .

$cdMugic

Debe habilitar el corrector ortográfico para corregir este tipo de problema. Abierto ~ / .bashrc archivo en cualquier editor para agregar la línea para habilitar el corrector ortográfico. Aquí el nano El editor se utiliza para editar el archivo.

$nano~/.bashrc

Agregue la siguiente línea al final del archivo, guarde y cierre el archivo.

tiendas -scdspell

Ahora, ejecute el siguiente comando para confirmar el cambio de forma permanente.

$fuente~/.bashrc

Si ejecuta lo anterior ' cd’ comando con error de ortografía desde el terminal, luego corregirá automáticamente el nombre de la carpeta.

$cdMugic

Zsh

El corrector ortográfico tampoco está habilitado de forma predeterminada en el shell zsh. Por lo tanto, si ejecuta el comando 'echo' como el siguiente comando con error de ortografía, mostrará el mensaje de error.

%ehco'Hola Mundo'

Abierto ~ / .zshrc en cualquier editor y agregue las siguientes líneas al final del archivo. La primera línea habilitará el corrector ortográfico en Zsh. Los valores de opción predeterminados del corrector ortográfico son, [nyae] eso indica no, si, abortar y editar . La segunda línea cambiará los valores predeterminados para que las opciones sean más comprensibles para el usuario. Aquí, nano editor se utiliza para editar el archivo.

% nano~/.zshrc
setopt correcto
exportar SPROMPT='¿Corregir% R a% r? [Sí, No, Abortar, Editar] '

Guarde y salga del archivo y ejecute el siguiente comando para actualizar el cambio.

% fuente~/.zshrc

Vuelva a ejecutar el comando anterior y verifique el resultado. Ahora, el usuario obtendrá las opciones para corregir la salida. Si escribe y, la ortografía se corregirá automáticamente.

%ehco'Hola Mundo'

Si desea que la salida sea más efectiva mediante el uso de colores, ejecute el siguiente comando desde el shell zsh para habilitar el color.

%colores U de carga automática&&colores

Después de eso, agregue la siguiente línea en ~ / .zshrc archivo como antes.

exportar SPROMPT='Correcto$ fg[rojo]% R$ reset_colorpara$ fg[verde]% r$ reset_color?
[Sí, No, Abortar, Editar] '

Ahora, ejecute cualquier comando con error de ortografía y verifique el resultado. Aquí, la palabra de error se mostrará en color rojo y la palabra correcta se mostrará en color verde.

%ehco'Hola Mundo'

Usando temas

El aspecto del indicador de shell se puede cambiar utilizando diferentes temas y complementos. Tanto los shells bash como los zsh tienen muchos tipos de temas para cambiar el aspecto del shell. En la siguiente parte de este artículo se muestra cómo se puede usar el tema en bash y zsh shell.

Intento

Tienes que instalar git para instalar cualquier tema de bash. Ejecute el siguiente comando para instalar el paquete git.

$sudo apt-get install ir

Después de instalar el ir , ejecute el siguiente comando para hacer un clon de Bash-it plantilla.

$clon de git --profundidad=1https://github.com/Bash-it/bash-it.git ~/.bash_it

Ejecute el siguiente comando para instalar Bash-it plantilla después de clonarla. Prensa ' y 'Cuando le pedirá que conserve la copia de seguridad de ~ / .bash_profile o ~ / .bashrc y anexar golpearlo plantilla al final del archivo.

El siguiente resultado aparecerá después de completar el proceso de instalación.

Ahora, si abre el ~ / .bashrc archivo utilizando cualquier editor, el archivo contendrá el siguiente contenido. 'Bobby' está configurado como tema predeterminado para la plantilla bash-it.

Ejecute el siguiente comando para confirmar la actualización del shell.

$fuente~/.bashrc

El siguiente mensaje aparecerá en el terminal después de instalar la plantilla correctamente. Ahora, cierra la terminal. Verá el mismo indicador de bash cada vez que abra la terminal.

Hay muchos temas disponibles para golpearlo plantilla, estos muestran el indicador de bash de diferentes maneras. Uno de ellos es ' envidia' tema. Si desea configurar este tema, abra el archivo ~ / .bashrc usando cualquier editor y cambie el ' BASH_IT_THEME 'Valor a' envidia ’.

Nuevamente, ejecute el ' fuente 'Comando para confirmar la actualización de forma permanente. La siguiente salida aparecerá después de configurar el tema 'envidia'.

Zsh

Como bash, zsh shell tiene muchos temas. Uno de los temas de zsh es oh-mi-zsh . Ejecute el siguiente comando para instalar este tema para el shell zsh.

% sh -c '$ (curl -fsSL
https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)'

Después de instalar el tema, presione ' y’ para hacer que el shell predeterminado sea zsh.

Le pedirá la contraseña de root para completar el proceso de instalación. El siguiente resultado aparecerá después de completar el proceso de instalación.

Ahora, si abre el archivo ~ / .zshrc, verá las entradas para oh-mi-zsh plantilla. 'Robbyrussell' se establece como tema predeterminado para la plantilla.

Para mantener el cambio de forma permanente, debe ejecutar el comando 'fuente'.

% fuente~/.zshrc

Si desea cambiar el tema a ' flecha ', Luego abra el archivo ~ / .zshrc en cualquier editor y cambie el valor de' ZSH_THEME ' para 'flecha ’.

Debe ejecutar el comando 'fuente' nuevamente para actualizar el cambio de forma permanente para el shell zsh. El siguiente símbolo de flecha aparecerá después de configurar este tema.

% fuente~/.zshrc

Si cierra la terminal y vuelve a abrir el shell zsh, aparecerá el siguiente resultado.

Uso de la expansión comodín

La expansión de comodines se puede usar en bash de diferentes maneras sin ningún ajuste. Pero la expansión de comodines no está habilitada en el shell zsh de forma predeterminada. En esta parte de este artículo se muestra cómo se puede usar la expansión de comodines en bash y zsh.

Intento

Supongamos que tiene que encontrar todos los archivos con la extensión 'log' de la ubicación actual usando el comando 'echo'. Aquí, el valor, ' *.Iniciar sesión' se asigna a la variable, archivos que se utilizan en el comando 'echo' para mostrar la lista de todos los archivos de registro.

$ls
$archivos='*.Iniciar sesión'
$echo $ archivos

Zsh

Si ejecuta los comandos anteriores en el shell zsh, se imprimirá el valor de $ files en lugar de la lista de archivos de registro porque la expansión de comodines no está habilitada de forma predeterminada para el shell zsh.

% ls
% expediente='*.Iniciar sesión'
% echo $ archivos

Ejecute el siguiente comando para habilitar la expansión de comodines para zsh.

% colocar -oGLOB_SUBST

Ahora, si ejecuta los comandos anteriores, se mostrará la lista de archivos de registro.

Conclusión

Bash y Zsh son shells muy útiles para los usuarios de Linux. Ambos caparazones tienen algunas características útiles. El usuario puede seleccionar el caparazón según la tarea requerida. Algunas diferencias importantes entre estos dos shells se describen en este artículo utilizando ejemplos adecuados. Espero que las diferencias entre estos dos caparazones se aclaren para los lectores después de leer este artículo.