新しいシェルでプログラムを実行するには?

新しいシェルでプログラムを実行するには?

環境をたくさん操作するプログラムがあります。 PYTHONPATH や LD_LIBRARY_PATH などの項目を設定します。

このプログラムは他のプログラムを実行する必要がありますが、すべての環境操作なしで新しい環境でrcファイルのデフォルト環境を使用する必要があります。

csh -cを使用するとこれを行うことができるようですが、そうすると現在の環境が保存されます。これを行うための良い方法はありますか?

私がこれにどのシェルを使用しているかは問題ではありません。また、元の.rcファイルが必要なため、env -iが正しく機能しません。 (envとbash -clを一緒に使用すると、何かをハックできるようですが、より良い方法があります)

ベストアンサー1

新しいプロセスをフォークすると、環境が保護されます。

特定の環境でプロセスを実行する必要がある場合は、そのプロセスで開始されたすべてのプロセスもその環境を使用します。

ただし、汚染されていない環境をファイルとして保存できますexport >original_env

後でこのファイルを使用して、汚染された環境をクリーンアップし、古いenv -i環境をインポートできます。

おすすめ記事