stdinで名前が付けられたすべての環境変数を出力するCプログラムがあります。$ PATH、$ USERなどの変数を出力しますが、Linuxシェルで自分で定義した環境変数は表示されません...たとえば、bashではmy = 4を定義し、プログラムが4を返すことを期待しています。入力に「my」を指定します。
int main () {
char * key = (char * )malloc(30);
scanf("%s", key);
if(getenv(key) != NULL)
printf("%s\n", getenv(key));
else
printf("NULL\n");
return 0;
}
getenvの結果を改善するために何ができますか?Linuxシェルからのすべての継承を含むすべての環境変数を表示したいと思います。ありがとうございました..