Xonsh は、Python ベース、クロスプラットフォーム、Unix 指向のシェル言語およびコマンド プロンプトです。本質的には、シェル コマンドを実行するための適切な構文を備えた Python インタープリタです。そのため、使い慣れたシェル環境で Python のすべての機能を利用できます。 Linux、OSX、Windows を含むすべての主要システムで動作します。
Bash スクリプトは、小規模なアプリケーションやバッチ アプリケーションにとって高速かつ効率的です。 Bash の制限の 1 つは、数学関数と浮動小数点数の処理です。
あなたが Python プログラマーであれば、利用可能な関数の膨大なライブラリを備えており、非常に気に入っていただけるでしょう。
Raspberry Pi ユーザーにとって、Xonsh は非常に合理化されたスクリプトを作成する多くの機会を提供します。 Python を使用して、サードパーティのデバイスやセンサーに接続できます。
この記事では、いくつかの例を通して Xonsh を紹介します。
システム固有のインストール手順については、Xonsh のドキュメントを参照してください。 Raspberry Pi/Ubuntu/Debian にインストールするには、次のように入力します:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install xonsh
Xonsh を実行するには、次のように入力します: xonsh
すぐに使える Xonsh には、構成ウィザードとチュートリアルが用意されています。
Python コードはコマンド ラインに直接入力できます。 Python のバージョンは、基盤となるシステムに何がロードされているかによって異なります。バージョンを確認するには:
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 インターフェイスと同様、出力を表示するために print ステートメントは必要ありません:
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 リスト コマンド) を取り上げます。 上記の例では、***ls*** が最初に次のように使用されます。 Bashのlistコマンドですが、同名の変数が定義されている場合はその変数が参照されます。
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 は Bash list コマンドとして使用され、2 番目の ls は Xonsh 表示変数 ls として使用されます。 Xonsh は 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例
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 の使用
linuxmi@linuxmi ~/www.linuxmi.com $ now=$(date) linuxmi@linuxmi ~/www.linuxmi.com $ print("现在的时间是: " + now) 现在的时间是: 2022年 04月 01日 星期五 19:17:13 CSTQuestion異なるシェルとサブシェル間での作業は少し混乱する可能性があります。どのシェルで作業しているのか、時々混乱することがあります。 ps コマンドは、xonsh* が実行されているかどうかを教えてくれます:
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 psXonsh スクリプトを問題なく Bash スクリプトに渡すことができますが、一部の環境では問題があることがわかります。操作するには、Xonsh シェルを手動で強制終了する必要があります。 概要Xonsh は、専門家にも初心者にも同様に日常的な使用に適しています。他のシェルとは異なり、xonsh は Python に基づいており、サブプロセス コマンドの呼び出し、環境の操作、ファイル システムの操作を容易にする追加の構文が追加されています。 xonsh コマンド プロンプトを使用すると、ユーザーは xonsh 言語に対話的にアクセスできます。
Xonsh は、シンプルなスクリプト ソリューションを探しているユーザーにとって多くの可能性を秘めています。
私自身の場合、おそらく Bash または Python ソリューションを使い続けるでしょうが、他の選択肢もあります。
以上がPython ベースの強力なシェル言語とコマンド プロンプトを共有しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。