У меня есть программа на C, которая печатает каждую переменную окружения, имя которой дается stdin.Он печатает переменные, такие как $ 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.Спасибо ..