私がしたいのは、bashシェルを起動して現在の端末に接続することです。目的は、systemdが起動するプロセスに対して生成された環境をどのように制御し、どのような種類の環境を生成するかを調べることです。 Bashシェルを起動すると、この情報が表示されると思いましたが、どのようにして、現在使用している端末にシェルを接続するのかわかりません。これらのテストはすべて仮想マシンで実行されるため、現在の環境にセキュリティ上の問題はありません。どんなアドバイスも本当にありがとうございます。
答え1
systemdを使用してbashを現在の端末に接続できるかどうかはわかりません。実際、私は問題を詳しく理解しているかどうかわかりません。
しかし、環境に関する情報を取得するのは非常に簡単で、いくつかの方法があります。
1つは、実行中のプロセスの環境変数を調べる一般的なアプローチです。/proc
プロセスのプロセスIDと共に使用されます(self
processidと置き換えます)。
cat /proc/self/environ | sort -z | xargs -n 1 -0
別のアプローチは、実行環境をファイルに書き込む小さなbashスクリプトを書くことです。 systemdに追加して起動します。
#!/bin/bash
env > /tmp/testenvironment
systemdを起動すると、環境は次のようになります。/tmp/testenvironment