ユーザー空間で子項目から親項目に環境変数を渡すことはできますか? [コピー]

ユーザー空間で子項目から親項目に環境変数を渡すことはできますか? [コピー]

タイトルが示すように、私は子プロセス(通常はスクリプト)で親プロセス(特にシェル)の環境変数を変更できるようにしたいです。疑似端末のサブスクリプトからエクスポートしようとしているので、エクスポートした/dev/pts/id変数key=valueを何らかの方法で親スクリプトに渡す必要がありますか(可能であれば)。

エコーはcmd > /proc/$$/fd/0実行されず、サブシェルで実行するのではなく、シェルターミナルcmdエミュレータでコマンドを表示するだけで、親プロセスに変数を追加しません。$(cmd)cmdexport

  1. 私はすべての作業が子側で行われることを好みます。

  2. 誰かがコメントで私に尋ねました。私が達成したいことは何ですか?これは一般的な質問であり、ユーザーが追加の操作なしで追加された変数の利点を享受できるように、(親)シェルで実行(生成)されたスクリプトに変数を渡すために肯定的な答えを使用しようとしています。たとえば、アプリケーションをインストールするスクリプトが必要な場合は、アプリケーションディレクトリを親シェルパスに追加する必要があります。

ベストアンサー1

いいえ、それは不可能です。

いくつかなければそうではありません。解決策

環境変数は、親から子にのみ(環境のエクスポート/継承の一部として)渡すことができ、その逆の場合は不可能です。

おすすめ記事