Here we introduce 2 ways to list out all current environment variables:
1, use printenv
command:
$ printenv SHELL=/bin/bash SESSION_MANAGER=local/pop-os COLORTERM=truecolor ...
2, write a C program to list them
Environment variables will be put in a environment table in process, and it has a pre-defined environ
pointer points to that table. To iterate all environment variables, we just need to walk through this table via the pointer:
#include <stdlib.h> #include <stdio.h> extern char** environ; int main() { char** ep = NULL; for (ep=environ; *ep!=NULL; ep++) { puts(*ep); } return 0; }
Compile and run it: gcc main.c -o listenv
$ ./listenv SHELL=/bin/bash SESSION_MANAGER=local/pop-os COLORTERM=truecolor ...
Top comments (0)