Para quienes nunca han escuchado de esta aplicación, vale adelantar que la misma es, una genial herramienta de software para terminales que ofrece un Lenguaje de Shell y un Prompt de comandos multiplataforma que funciona con Python.
Shell Scripting
“Shell Scripting es la técnica (habilidad / destreza) de diseñar y crear Script (archivo de automatización de tareas) mediante un Shell (preferiblemente) de un Sistema Operativo, o un Editor de Texto (Gráfico o Terminal). Este es un tipo de lenguaje de programación que generalmente es interpretado. Es decir, que mientras la mayoría de los programas son compilados (codificados), porque son convertidos permanente a un código especifico (especial) antes de que puedan ejecutarse (proceso de compilación), un script de shell permanece en su forma original (su código fuente en forma de texto) y son interpretados comando por comando cada vez que se ejecutan”. Shell, Bash y Scripts: Todo sobre Shell Scripting
¿Qué es Xonsh?
Xonsh es un lenguaje de shell y símbolo del sistema basado en Python, multiplataforma y basado en Unix. El lenguaje es un superconjunto de Python 3.6+ con primitivas de shell adicionales a las que está acostumbrado desde Bash e IPython. Funciona en todos los sistemas principales, incluidos Linux, OSX y Windows. Xonsh está diseñado para el uso diario de expertos y novatos.
El shell xonsh le permite mezclar fácilmente comandos de Python y shell en un enfoque potente y simplificado de la línea de comandos.
Características
Actualmente, Xonsh va por su la última versión de número 0.11.0, liberada el día 17/11/21. Y puede ser instalada de muchas formas, por ejemplo, por consola, de forma tradicional con el gestor de paquetes usado de costumbre en cada Distro GNU/Linux, como por el gestor Pip de Python, o mediante un archivo AppImage o usando Docker.
Entre sus características o funciones generales tiene las siguientes:
- Permite combinar comandos de (Bash) Shell con Python o viceversa.
- Permite el uso de extensiones de terceros, xontribuciones o xontribs, los cuales no son más que, un conjunto de herramientas y convenciones para extender la funcionalidad de xonsh.
- Ofrece una interfaz robusta en cuanto a manejo del historial, dado que, crea archivos de historial con una rica estructura y metadatos y una API para interactuar con ellos.
- Incluye una potente personalización de los avisos, que se materializa mediante la terminación de pestañas, los enlaces de teclas y los estilos de color personalizables, incorporados por defecto.
Mientras que, en esta última versión actual se incluyeron novedades, tales como:
- Adicción de la unión de las teclas CTRL-Derecha para completar una sola palabra de autosugestión.
- Visualización del tipo y la descripción de las variables de entorno al completarlas.
- Mejoramiento del completador de pip/xpip.
- Adicción de la tecla CTRL-Retroceso para eliminar una sola palabra mediante $XONSH_CTRL_BKSPC_DELETION.
Para más información sobre Xonsh puedes visitar su sección oficial en PyPi y GitHub, o directamente su sección de Documentación y Tutorial, en su sitio web oficial.