2012-03-07 3 views
1

私は自分のCのLinuxシェルを書いています。私自身のC Linuxシェルの環境変数?

しかし、環境変数を取得して設定する必要があります。

変更ディレクトリの部分にgetenv("HOME")を使用して少し成功しました。

私自身のシェルではどうやって環境変数を取得して設定しますか?

+2

ここで何が尋ねられているのかは分かりません。変数を "設定する"方法の問題はありますか?私が知る限り、環境はプロセスの開始時に決定され、その後は変更されません。ただし、新しく設定された変数を追跡し、それらをサブプロセスに渡すことができます。 –

+0

私はNiklasに同意します。あなたの問題をより詳細に記述してください。 –

+0

申し訳ありませんが、私が書いているシェルプログラムでは、この新しいシェルで環境変数を表示、設定、使用できるようにする必要があります。 $ PATHを表示して$ PATHなどを設定します。 –

答えて

1

あなたは使用することができます。

int setenv(const char *name, const char *value, int overwrite);

をあなたの現在のプロセスに属する環境を変更します。作成するすべての子プロセスは、変更された環境を継承します。