Kongsi bahasa shell yang berkuasa dan gesaan arahan berdasarkan Python

WBOY
Lepaskan: 2023-04-11 19:49:16
ke hadapan
1133 orang telah melayarinya

Kongsi bahasa shell yang berkuasa dan gesaan arahan berdasarkan Python

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.

Bermula

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
Salin selepas log masuk

Kongsi bahasa shell yang berkuasa dan gesaan arahan berdasarkan Python

Untuk menjalankan Xonsh, masukkan sahaja: xonsh

Kongsi bahasa shell yang berkuasa dan gesaan arahan berdasarkan Python

Di luar kotak, Xonsh menyediakan wizard konfigurasi dan tutorial.

Menggunakan Python

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]'
Salin selepas log masuk

Kongsi bahasa shell yang berkuasa dan gesaan arahan berdasarkan Python

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'
Salin selepas log masuk

Kongsi bahasa shell yang berkuasa dan gesaan arahan berdasarkan Python

Menggunakan Bash

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'
Salin selepas log masuk

Kongsi bahasa shell yang berkuasa dan gesaan arahan berdasarkan Python

ls pertama digunakan sebagai arahan senarai Bash, dan yang kedua ialah pembolehubah paparan Xonsh ls.

Xonsh menganggap pernyataan Bash sebagai satu baris. Ini bermakna:

  • Bash untuk/sementara/jika pernyataan perlu semua pada satu baris
  • Ingat untuk menggunakan ruang antara aksara
  • Peluasan baris (dengan "") tidak disokong
  • Fungsi Bash tidak disokong.
  • Anda boleh menulis fungsi dalam Python dan bukannya Bash

Gunakan Python dalam Bash

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
Salin selepas log masuk

Kongsi bahasa shell yang berkuasa dan gesaan arahan berdasarkan Python

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()
Salin selepas log masuk
Pembolehubah Bash boleh digunakan secara langsung dalam Python, contohnya :

Kongsi bahasa shell yang berkuasa dan gesaan arahan berdasarkan PythonGunakan 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
Salin selepas log masuk
Bekerja antara cengkerang dan subkulit yang berbeza boleh menjadi sedikit mengelirukan. Saya mendapati bahawa saya kadangkala keliru tentang shell yang saya gunakan. Perintah ps akan memberitahu saya jika xonsh* sedang berjalan:

Kongsi bahasa shell yang berkuasa dan gesaan arahan berdasarkan Python

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
Salin selepas log masuk
Ringkasan

Kongsi bahasa shell yang berkuasa dan gesaan arahan berdasarkan PythonXonsh 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!

Label berkaitan:
sumber:51cto.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!