ホームページ  >  記事  >  バックエンド開発  >  Python ベースの強力なシェル言語とコマンド プロンプトを共有します

Python ベースの強力なシェル言語とコマンド プロンプトを共有します

WBOY
WBOY転載
2023-04-11 19:49:161153ブラウズ

Python ベースの強力なシェル言語とコマンド プロンプトを共有します

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

Python ベースの強力なシェル言語とコマンド プロンプトを共有します

Xonsh を実行するには、次のように入力します: xonsh

Python ベースの強力なシェル言語とコマンド プロンプトを共有します

すぐに使える Xonsh には、構成ウィザードとチュートリアルが用意されています。

Python の使用

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 ベースの強力なシェル言語とコマンド プロンプトを共有します

# インタラクティブな 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'

Python ベースの強力なシェル言語とコマンド プロンプトを共有します

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'

Python ベースの強力なシェル言語とコマンド プロンプトを共有します

最初の ls は Bash list コマンドとして使用され、2 番目の ls は Xonsh 表示変数 ls として使用されます。

Xonsh は Bash ステートメントを単一行として処理します。これは、次のことを意味します:

    Bash の for/while/if ステートメントはすべて 1 行に記述する必要があります
    文字の間にスペースを使用することを忘れないでください
    行展開 ("" による) はサポートされていません
  • Bash 関数はサポートされていません。
    Bash の代わりに Python で関数を作成できます
Bash での Python の使用

Python ステートメントは Bash で使用されます: @( Python声明)。 Bash で Python を使用する 2 つの例を次に示します。

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

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

Python ベースの強力なシェル言語とコマンド プロンプトを共有します

Python での Bash の使用

Bash 変数は Python で直接使用できます。例:

Bash の日付を使用して Python に渡します

linuxmi@linuxmi ~/www.linuxmi.com $ now=$(date)
linuxmi@linuxmi ~/www.linuxmi.com $ print("现在的时间是: " + now)
现在的时间是: 2022年 04月 01日 星期五 19:17:13 CST

Python ベースの強力なシェル言語とコマンド プロンプトを共有します

Question

異なるシェルとサブシェル間での作業は少し混乱する可能性があります。どのシェルで作業しているのか、時々混乱することがあります。 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 ps

Python ベースの強力なシェル言語とコマンド プロンプトを共有します

Xonsh スクリプトを問題なく Bash スクリプトに渡すことができますが、一部の環境では問題があることがわかります。操作するには、Xonsh シェルを手動で強制終了する必要があります。

概要

Xonsh は、専門家にも初心者にも同様に日常的な使用に適しています。他のシェルとは異なり、xonsh は Python に基づいており、サブプロセス コマンドの呼び出し、環境の操作、ファイル システムの操作を容易にする追加の構文が追加されています。 xonsh コマンド プロンプトを使用すると、ユーザーは xonsh 言語に対話的にアクセスできます。

Xonsh は、シンプルなスクリプト ソリューションを探しているユーザーにとって多くの可能性を秘めています。

私自身の場合、おそらく Bash または Python ソリューションを使い続けるでしょうが、他の選択肢もあります。

以上がPython ベースの強力なシェル言語とコマンド プロンプトを共有しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。