Xonsh - Die Kombination von Shell und Python

Fr, 25. Februar 2022, Ralf Hersel

Als Python-Aficionado habe ich mir schon oft gewünscht, im Terminal die Power von Python zur Verfügung zu haben. Stellt sich heraus: Das geht mit Xonsh. Fragt bitte nicht, wie man das ausspricht - vielleicht 'Sonsch'? Xonsh ist eine auf Python basierende, plattformübergreifende Unix-Shell-Sprache und Eingabeaufforderung. Die Sprache ist ein Superset von Python 3.6+ mit zusätzlichen Shell-Primitiven, die man von Bash und IPython gewohnt ist. Sie funktioniert auf allen wichtigen Systemen, einschliesslich Linux, OSX und Windows. Xonsh ist für den täglichen Gebrauch von Experten und Anfängern gedacht.

Im Screenshot sieht man ein Beispiel. Innerhalb der Xonsh-Shell kann man sowohl Bash-Kommandos, als auch Python-Befehle absetzen. Diese lassen sich miteinander kombinieren. Zuerst habe ich ein ganz normales 'ls -l' eingegeben und Xonsh verhält sich wie erwartet. Dann verwende ich eine Python For-Schleife in Kombination mit dem 'ls -l' Befehl. Die Ausgabe von $(ls -l) wandle ich in eine Liste um und gebe die Listenwerte in umgekehrter Reihenfolge aus.

Das Beispiel ist nicht besonders sinnvoll, zeigt aber, was Xonsh leistet. In der Dokumentation finden sich viele weitere und mächtigere Beispiele. Die Installation der Kombi-Shell ist sehr einfach und auf der Projektseite beschrieben.

Quelle: https://xon.sh/