Xonsh ist eine Python-basierte, plattformübergreifende, Unix-orientierte Shell-Sprache und Eingabeaufforderung. Es handelt sich im Wesentlichen um einen Python-Interpreter mit einer guten Syntax zum Ausführen von Shell-Befehlen. So steht Ihnen die ganze Leistungsfähigkeit von Python in der gewohnten Shell-Umgebung zur Verfügung. Funktioniert auf allen gängigen Systemen, einschließlich Linux, OSX und Windows.
Bash-Skripte sind schnell und effizient für kleine oder Batch-Anwendungen. Eine der Einschränkungen von Bash ist die Handhabung mathematischer Funktionen und Gleitkommazahlen.
Wenn Sie ein Python-Programmierer sind, wird es Ihnen wirklich gefallen, es verfügt über eine riesige Bibliothek verfügbarer Funktionen.
Für Raspberry Pi-Benutzer bietet Xonsh viele Möglichkeiten, einige äußerst optimierte Skripte zu schreiben. Mit Python kann eine Verbindung zu Geräten und Sensoren von Drittanbietern hergestellt werden.
In diesem Artikel werde ich Xonsh anhand einiger Beispiele vorstellen.
Systemspezifische Installationsanweisungen finden Sie in der Xonsh-Dokumentation. Geben Sie zur Installation auf Raspberry Pi/Ubuntu/Debian Folgendes ein:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install xonsh
Um Xonsh auszuführen, geben Sie einfach Folgendes ein: xonsh
Xonsh wird standardmäßig mit einem Konfigurationsassistenten und einem Tutorial geliefert.
Python-Code kann direkt in der Befehlszeile eingegeben werden. Die Version von Python hängt davon ab, was auf dem zugrunde liegenden System geladen ist. So überprüfen Sie Ihre Version:
linuxmi@linuxmi ~/www.linuxmi.com $ import sys linuxmi@linuxmi ~/www.linuxmi.com $ sys.version '3.9.7 (default, Sep 10 2021, 14:59:43) n[GCC 11.2.0]'
Wie bei der interaktiven Python-Schnittstelle sind keine Druckanweisungen erforderlich, um die Ausgabe anzuzeigen:
linuxmi@linuxmi ~/www.linuxmi.com $ 7+9 16 linuxmi@linuxmi ~/www.linuxmi.com $ a=5;b=6 linuxmi@linuxmi ~/www.linuxmi.com $ a+b 11 linuxmi@linuxmi ~/www.linuxmi.com $ i="Hello World!" linuxmi@linuxmi ~/www.linuxmi.com $ i + " www.linuxmi.com" 'Hello World! www.linuxmi.com'
Xonsh Beginnen Sie mit Python, also beginnen Sie mit dem ls (Bash list-Befehl) als Beispiel:
Im obigen Beispiel wird ***ls*** zuerst als Bash-Listenbefehl verwendet, aber wenn eine Variable mit demselben Namen definiert ist, wird auf diese Variable verwiesen.
linuxmi@linuxmi ~/www.linuxmi.com $ ls 'VS Code.png' www.linuxmi.com.jpg www.linuxmi.com.py wwww.linuxmi.com linuxmi.comwww.linuxmi.com.mp4 www.linuxmi.png linuxmi@linuxmi ~/www.linuxmi.com $ ls="这是一个变量www.linuxmi.com" linuxmi@linuxmi ~/www.linuxmi.com $ ls '这是一个变量www.linuxmi.com'
Das erste ls wird als Bash-Listenbefehl verwendet und das zweite ist die Xonsh-Anzeigevariable ls.
linuxmi@linuxmi ~/www.linuxmi.com $ import sys linuxmi@linuxmi ~/www.linuxmi.com $ echo @(sys.version) 3.9.7 (default, Sep 10 2021, 14:59:43) [GCC 11.2.0] linuxmi@linuxmi ~/www.linuxmi.com $ echo @("LinuxMi.com=" +str(8+9)) LinuxMi.com=17
Beispiel
linuxmi@linuxmi ~/www.linuxmi.com $ from tkinter import * linuxmi@linuxmi ~/www.linuxmi.com $ root = Tk() linuxmi@linuxmi ~/www.linuxmi.com $ canvas = Canvas(root, width = 500, height = 500) linuxmi@linuxmi ~/www.linuxmi.com $ canvas.pack() linuxmi@linuxmi ~/www.linuxmi.com $ img = PhotoImage(file="www.linuxmi.com.png") linuxmi@linuxmi ~/www.linuxmi.com $ canvas.create_image(0,0, anchor=NW, image=im g) 1 linuxmi@linuxmi ~/www.linuxmi.com $ mainloop()
Verwendung von Bash in Python
Verwenden Sie das Bash-Datum und das Problem mit Die Übergabe an Python
linuxmi@linuxmi ~/www.linuxmi.com $ now=$(date) linuxmi@linuxmi ~/www.linuxmi.com $ print("现在的时间是: " + now) 现在的时间是: 2022年 04月 01日 星期五 19:17:13 CST
linuxmi@linuxmi ~/www.linuxmi.com $ ps PID TTYTIME CMD 7966 pts/100:00:00 bash 8044 pts/100:00:04 xonsh 11342 pts/100:00:00 ps
Ich kann Xonsh-Skripte ohne Probleme an Bash-Skripte übergeben, aber ich finde, dass ich für bestimmte Vorgänge die Xonsh-Shell manuell beenden muss.
Zusammenfassung
Xonsh bietet viel Potenzial für Benutzer, die eine einfache Skriptlösung suchen.
Ich selbst würde wahrscheinlich bei einer Bash- oder Python-Lösung bleiben, aber ich habe auch andere Optionen.
Das obige ist der detaillierte Inhalt vonTeilen Sie eine leistungsstarke Shell-Sprache und Eingabeaufforderung basierend auf Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!