6
私のスクリプトは、Makefileによって使用されるいくつかの環境変数を設定します。したがって、すべてのシェル、bash(set varriableにエクスポート)、およびtcsh(setenv)私たちはPythonを実行した場所から、$ SHELL varrriableを使ってみましたが、いつも私のシェルとして私にshを与えました。Pythonスクリプトから現在のシェルタイプを取得する
私はPythonスクリプトから正しいシェルタイプを得ることができますか、それとも常に$ SHELL変数として "SH"を出力しますか。
なぜこのためのシェルが必要ですか? 'subprocess。*'関数には環境変数の引数があります! – ThiefMaster
'$ SHELL'は現在のシェルではなく、ログインシェルを提供します。 Makefileに特定のシェルを指定したり、 '#!'を使うのはなぜですか? – cdarke
異なるユーザーが異なるシェル設定を持つことができ、スクリプトがどのシェルからそれを呼び出したのかを検出し、それに基づいて正しいデータvarriable(setenv/export)を出力する必要があるため、これが必要です。 – Viks