La mayoría de los intérpretes de comandos ('shells') permiten al usuario crear y ejecutar sus propios 'shell scripts', programas comparativamente sencillos a causa de sus limitaciones de sintaxis, interpretados en tiempo de ejecución. Los archivos .bat de la vieja línea de comandos de MS-DOS, los .ps del actual PowerShell de Windows, o los .sh de Bash (y otras shells compatibles) en sistemas Unix son ejemplos de estos programas.
Pero, ¿qué pasaría si pudiéramos escribir scripts para nuestra shell favorita complementando el uso de comandos con una sintaxis más compleja y potente, extraída directamente de un lenguaje de alto nivel? ¿Y si dicho lenguaje fuera Python?
Xonsh se define como un "lenguaje de shell con tecnología Python, multiplataforma y orientado a Unix [aunque] funciona en todos los sistemas principales". Siendo más técnicos, podemos decir que Xonsh es un superconjunto de Python 3.6+; es decir, un Python con elementos extra… elementos que reconocerás si estás acostumbrado a usar tanto Bash como iPython (el shell interactivo de Python).
La mejor forma de entender lo que nos ofrece Xonsh es analizar esta cuatro imágenes que nos ofrece el proyecto en su página web oficial:
Xonsh es la Shell
Xonsh es una shell normal y corriente (con su autocompletado, su coloreado de sintaxis…), que en cualquier momento puede sustituir a Bash, Zsh o similares. Desde ella podremos seguir ejecutando los típicos comandos de Unix como si nada hubiera cambiado.
Xonsh es Python
Cualquier uso que le puedas …