Xonsh ialah bahasa shell berorientasikan Unix dan command prompt berasaskan Python, dengan sintaks yang baik untuk menjalankan perintah Shell. Jadi anda mempunyai semua kuasa Python dalam persekitaran shell yang biasa. Berfungsi pada semua sistem utama termasuk Linux, OSX dan Windows.
Skrip Bash adalah pantas dan cekap untuk aplikasi kecil atau kelompok. Salah satu batasan Bash ialah pengendalian fungsi matematik dan nombor titik terapung.
Jika anda seorang pengaturcara Python, anda pasti menyukainya, ia mempunyai perpustakaan besar fungsi yang tersedia.
Untuk pengguna Raspberry Pi, Xonsh boleh menyediakan banyak peluang untuk menulis beberapa skrip yang sangat diperkemas. Python boleh digunakan untuk menyambung ke peranti dan penderia pihak ketiga.
Dalam artikel ini, saya akan memperkenalkan Xonsh dengan beberapa contoh.
Untuk arahan pemasangan khusus sistem, lihat dokumentasi Xonsh. Untuk memasang pada Raspberry Pi/Ubuntu/Debian, masukkan:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install xonsh
Untuk menjalankan Xonsh, masukkan sahaja: xonsh
Di luar kotak, Xonsh menyediakan wizard konfigurasi dan tutorial.
Kod Python boleh dimasukkan terus pada baris arahan. Versi Python akan bergantung pada apa yang dimuatkan pada sistem asas. Untuk menyemak versi anda:
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]'
Seperti antara muka Python interaktif, tiada pernyataan cetakan diperlukan untuk melihat output:
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 menggunakan Python terlebih dahulu, jadi ambil ls (arahan senarai Bash) sebagai contoh:
Dalam contoh di atas ***ls*** Mula-mula digunakan sebagai perintah senarai Bash, tetapi jika pembolehubah dengan nama yang sama ditakrifkan, pembolehubah itu dirujuk.
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'
ls pertama digunakan sebagai arahan senarai Bash, dan yang kedua ialah pembolehubah paparan Xonsh ls.
Pernyataan Python digunakan dalam Bash: @( Python kenyataan). Berikut ialah dua contoh penggunaan Python dalam Bash:
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
Contoh Menggunakan Bash dalam Python
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()
Gunakan tarikh Bash dan hantarkannya kepada Python
Masalah
linuxmi@linuxmi ~/www.linuxmi.com $ now=$(date) linuxmi@linuxmi ~/www.linuxmi.com $ print("现在的时间是: " + now) 现在的时间是: 2022年 04月 01日 星期五 19:17:13 CST
Saya dapat menghantar skrip Xonsh ke skrip Bash tanpa sebarang masalah, tetapi saya mendapati bahawa untuk Untuk operasi tertentu, saya perlu membunuh shell Xonsh secara manual.
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
Xonsh sesuai untuk kegunaan harian oleh pakar dan orang baru. Tidak seperti cangkerang lain, xonsh adalah berdasarkan Python, menambah sintaks tambahan yang memudahkan untuk menggunakan perintah subproses, mengendalikan persekitaran dan bekerja dengan sistem fail. Gesaan arahan xonsh menyediakan pengguna dengan akses interaktif kepada bahasa xonsh.
Xonsh mempunyai banyak potensi untuk pengguna yang mencari penyelesaian skrip mudah.
Untuk diri saya sendiri, saya mungkin akan menggunakan penyelesaian Bash atau Python, tetapi saya mempunyai pilihan lain.
Atas ialah kandungan terperinci Kongsi bahasa shell yang berkuasa dan gesaan arahan berdasarkan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!