偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

分享基于 Python 的 強(qiáng)大Shell 語(yǔ)言和命令提示符

開(kāi)發(fā) 后端
對(duì)于 Raspberry Pi 用戶,Xonsh 可以提供很多機(jī)會(huì)來(lái)編寫(xiě)一些極其精簡(jiǎn)的腳本。Python 可用于連接到第三方設(shè)備和傳感器。在這篇文章中,我將通過(guò)一些示例來(lái)介紹 Xonsh。

Xonsh 是一種基于 Python 的、跨平臺(tái)的、面向 Unix 的 shell 語(yǔ)言和命令提示符,它本質(zhì)上是一個(gè)Python解釋器,具有運(yùn)行 Shell 命令的良好語(yǔ)法。因此,在熟悉的Shell環(huán)境中,您擁有Python的所有功能。適用于所有主要系統(tǒng),包括 Linux、OSX 和 Windows。

Bash 腳本對(duì)于小型或批量應(yīng)用程序來(lái)說(shuō)既快速又有效。Bash 的限制之一是它處理數(shù)學(xué)函數(shù)和浮點(diǎn)數(shù)。

如果您是 Python 程序員,應(yīng)該會(huì)非常喜歡,它擁有龐大的可用函數(shù)庫(kù)。

對(duì)于 Raspberry Pi 用戶,Xonsh 可以提供很多機(jī)會(huì)來(lái)編寫(xiě)一些極其精簡(jiǎn)的腳本。Python 可用于連接到第三方設(shè)備和傳感器。

在這篇文章中,我將通過(guò)一些示例來(lái)介紹 Xonsh。

入門(mén)

有關(guān)特定系統(tǒng)的安裝說(shuō)明,請(qǐng)參閱 Xonsh 文檔。要在 Raspberry Pi/Ubuntu/Debian 上安裝,請(qǐng)輸入:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install xonsh

要運(yùn)行 Xonsh,只需輸入:xonsh

開(kāi)箱即用的 Xonsh 提供了一個(gè)配置向?qū)Ш鸵粋€(gè)教程。

使用 Python

Python 代碼可以直接在命令行輸入。Python 的版本將取決于基礎(chǔ)系統(tǒng)上加載的內(nèi)容。要檢查您的版本:

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]'

與交互式 Python 界面一樣,不需要打印語(yǔ)句即可查看輸出:

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'

使用 Bash

Xonsh 首先使用 Python,因此以ls(Bash list 命令)為例:

在上面的例子中***ls***首先用作 Bash list 命令,但是如果定義了同名的變量,則引用該變量。

linuxmi@linuxmi ~/www.linuxmi.com $ ls
'VS Code.png' www.linuxmi.com.jpg www.linuxmi.com.py wwww.linuxmi.com
linuxmi.com www.linuxmi.com.mp4 www.linuxmi.png
linuxmi@linuxmi ~/www.linuxmi.com $ ls="這是一個(gè)變量www.linuxmi.com"
linuxmi@linuxmi ~/www.linuxmi.com $ ls
'這是一個(gè)變量www.linuxmi.com'

第一個(gè)ls用作Bash list命令,第2個(gè)是Xonsh顯示變量ls。

Xonsh 將 Bash 語(yǔ)句作為單行處理。這意味著:

  • Bash for/while/if 語(yǔ)句需要全部在一行
  •  記得在字符之間使用空格
  • 不支持行擴(kuò)展(帶有“\”)
  • 不支持 Bash 函數(shù)。
  •  您可以用 Python 而不是 Bash 編寫(xiě)函數(shù)

在 Bash 中使用 Python

Python 語(yǔ)句在 Bash 中使用:@(Python statements)。下面是在 Bash 中使用 Python 的兩個(gè)示例:

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

例子

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()

在 Python 中使用 Bash

Bash 變量可以直接在 Python 中使用,例如:

使用Bash date并將其傳遞給Python

linuxmi@linuxmi ~/www.linuxmi.com $ now=$(date)
linuxmi@linuxmi ~/www.linuxmi.com $ print("現(xiàn)在的時(shí)間是: " + now)
現(xiàn)在的時(shí)間是: 20220401日 星期五 19:17:13 CST

問(wèn)題

在不同的 shell 和子 shell 之間工作可能會(huì)有點(diǎn)混亂。我發(fā)現(xiàn)我有時(shí)會(huì)搞不清楚自己在哪個(gè) shell 中工作。ps命令會(huì)告訴我xonsh*是否正在運(yùn)行:

linuxmi@linuxmi ~/www.linuxmi.com $ ps
PID TTY TIME CMD
7966 pts/1 00:00:00 bash
8044 pts/1 00:00:04 xonsh
11342 pts/1 00:00:00 ps

我能夠在沒(méi)有任何問(wèn)題的情況下將Xonsh腳本傳遞給Bash腳本,但我發(fā)現(xiàn)對(duì)于某些操作,我需要手動(dòng)殺死Xonsh shell。

總結(jié)

Xonsh 適用于專(zhuān)家和新手的日常使用。與其他 shell 不同,xonsh 基于 Python,添加了額外的語(yǔ)法,使調(diào)用子進(jìn)程命令、操作環(huán)境和處理文件系統(tǒng)變得容易。xonsh 命令提示符為用戶提供了對(duì) xonsh 語(yǔ)言的交互式訪問(wèn)。

對(duì)于尋求簡(jiǎn)單腳本解決方案的用戶來(lái)說(shuō),Xonsh 具有很大的潛力。

就我自己而言,我可能會(huì)堅(jiān)持使用 Bash 或 Python 解決方案,但我還有其他選擇。

責(zé)任編輯:龐桂玉 來(lái)源: Linux公社
相關(guān)推薦

2009-09-08 08:18:09

Windows 7命令提示符

2018-11-27 11:10:53

Linuxbash命令

2010-06-01 09:09:15

MySQL命令提示符程

2022-03-24 11:35:30

LinuxXnosh Shel

2021-12-25 23:22:32

Windows 10Windows微軟

2011-09-19 15:16:28

vista命令提示符

2023-09-24 19:28:29

微軟Windows 11

2022-02-15 09:40:45

提示符Starship

2021-02-25 17:54:43

StarshipshellLinux

2016-11-23 15:30:58

Windows 10PowerShell提示符

2019-02-26 14:10:09

Windows 10命令提示符文件

2021-02-14 00:34:49

Windows 10Windows微軟

2022-01-14 23:41:28

Windows 10Windows微軟

2010-06-23 16:19:48

Linux Bash

2021-08-19 17:21:48

Windows微軟工具

2022-05-23 15:38:28

Windows 11Windows 10微軟

2018-09-26 10:25:27

Window 10自定義命令

2020-03-26 13:36:59

終端提示符分支

2021-04-01 13:58:52

Windows 10Windows微軟

2010-03-15 15:38:47

Python運(yùn)行
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)