別のプロセスを実行する必要があるPythonプログラムがあります(私はsubprocess.Popen
そのために使用します)。この実行は、シェルコマンドプロンプトでユーザーが次のように入力したかのように動作する必要があります。
$ source path/to/some_file
$ ./some_program
shell=True
最初にプログラムを実行してから実行するために、何らかの形式のコマンドチェーンを使用することを期待しsource
ています。しかし、私は次の問題に直面しています。
私のPythonプログラムを起動するシェルは、、、(または他のフレーバー)である可能性bash
がありsh
ます。実行しているシェルに基づいて、別のソースを取得する必要があります。これを判断する方法はありますか?Pythonで、または内部で何かを実行することで、どちらも実行できます。tcsh
csh
some_file
Popen(..., shell=True)
さまざまなシェルからさまざまな出力を取得するために、ある種の「シェルポリグロット」を作成することを検討していましたが、私のシェルスキル(特にcsh)はそのようなタスクに対応していません。どのようなオプションがありますか?