「基本システムシェル」をIPythonに変えるには?

「基本システムシェル」をIPythonに変えるには?

.profileのようなファイルもシェルスクリプトではなくPythonになるように、システムでbashをIPythonに置き換えたいと思います。

この問題についていくつかの質問があったにもかかわらず、私はこのトピックについてまだ少し混乱しています。以前私が尋ねた質問は次のとおりです。

1)BashをPythonに置き換える方法は?

この質問に答えて、bashをIPythonに自動的に置き換える方法を学びました。後ろにログインします(まだシェルスクリプトに作成された.profileを使用してください)。

2).profileはシェルスクリプトで書かれています。 Pythonスクリプトを実行したいという事実をシステムに通知できますか?

この質問に対する答えは、私が.profileファイルが「実行」ではなく「ソース」になることを知りました。つまり、.profileの行は、まるでシェルに入力されたかのように1つずつ実行されます。

今私の質問は次のとおりです。IPython Magic / Pythonを使用して.profileファイルを取得できるように、デフォルトのシステムシェルIPythonをどのように作成しますか?たとえば、IPython Magics / Pythonを使用して.profileファイルを作成したいとします。

答え1

Pythonをシェル言語とコマンドプロンプトとして使用することに興味がある場合は、次の点を見てください。ジェンシー。 Pythonでスクリプトを作成できるPythonベースのシェル。

答え2

プロセスにPythonをデフォルトのシェルとして起動させるには、次のようにファイルのlogin(1)シェルを変更できます。/etc/passwd

usermod -s /usr/bin/python yourusername

スクリプト.profileはまだ実行されません。ファイル名/場所はbash(1)。その後、スレーブスクリプトを使用してインタラクティブモードに入りますcode.interact()

しかし、これはあまりうまく機能しません(まったくありますが)。 Pythonのインタラクティブモードは、シェルの機能の大部分(タスク制御など)を実行できず、os.systemシステムシェルがPythonであるため役に立ちません。

関連情報