2012年12月14日金曜日

環境変数

forkした子プロセスは、環境変数も引き継ぐ。
getenv
putenv
setenv
unsetenv
environ (7) 大域変数
clearenv すべての環境変数をクリアする(空にする)posixでない!?

su コマンドを '-' 付加して実行すると、環境変数は引き継がない。
シェルをログインシェルにする。


/etc/profile.d/*.sh に環境変数を設定する各種スクリプトがある。


すべての環境変数を表示する。
$ gcc -Wall -o my_printenv my_printenv.c
#include <stdio.h>

extern char **environ;

int main()
{
char **ep = environ;
char *p;

FILE *fptr;

fptr = fopen("/tmp/xxx.txt", "a");

fprintf(fptr, "-------------\n");

while ((p = *ep++))
fprintf(fptr, "%s\n", p);

fclose(fptr);

return 0;
}



0 件のコメント:

コメントを投稿