c/cpp: main() - envp - “本进程”的环境变量
1. main(int argc, char *argv[], char *envp[]) - envp
1.1 argc,自动获取程序的参数的数量;
1.2 argv,自动获取程序输入的参数;
1.3 envp,自动获取“本进程”的环境参数;
1 [wit@fedora null]$ cat envp_main.c
2 #include <stdio.h>
3 #include <stdlib.h>
4
5
6 int main(int argc, char *argv[], char *envp[])
7 {
8 int i=0;
9 while ( envp[i] != NULL )
10 {
11 printf ("\n\torder_%d:\tenvp[%d]=%s\n", i, i, envp[i]);
12 i += 1;
13 if (i >=100)
14 {
15 i=0;
16 break;
17 }
18 }
19
20 i=0;
21 return 0;
22 }
2. running
1 [wit@fedora null]$ cat envp_main.c
2 #include <stdio.h>
3 #include <stdlib.h>
4
5
6 int main(int argc, char *argv[], char *envp[])
7 {
8 int i=0;
9 while ( envp[i] != NULL )
10 {
11 printf ("\n\torder_%d:\tenvp[%d]=%s\n", i, i, envp[i]);
12 i += 1;
13 if (i >=100)
14 {
15 i=0;
16 break;
17 }
18 }
19
20 i=0;
21 return 0;
22 }
23 [wit@fedora null]$
24 [wit@fedora null]$
25 [wit@fedora null]$ ./envp_main
26
27 order_0: envp[0]=SHELL=/bin/bash
28
29 order_1: envp[1]=HISTCONTROL=ignoredups
30
31 order_2: envp[2]=HISTSIZE=1000
32
33 order_3: envp[3]=HOSTNAME=fedora
34
35 order_4: envp[4]=EDITOR=/usr/bin/nano
36
37 order_5: envp[5]=PWD=/home/wit/user/lidawei/tmp/null
38
39 order_6: envp[6]=LOGNAME=wit
40
41 order_7: envp[7]=XDG_SESSION_TYPE=tty
42
43 order_8: envp[8]=MOTD_SHOWN=pam
44
45 order_9: envp[9]=HOME=/home/wit
46
47 order_10: envp[10]=LANG=en_US.UTF-8
48
49 order_11: envp[11]=LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;37;41:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.m4a=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.oga=01;36:*.opus=01;36:*.spx=01;36:*.xspf=01;36:*~=00;90:*#=00;90:*.bak=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.swp=00;90:*.tmp=00;90:*.dpkg-dist=00;90:*.dpkg-old=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:
50
51 order_12: envp[12]=SSH_CONNECTION=10.10.10.12 12269 10.10.10.18 22
52
53 order_13: envp[13]=XDG_SESSION_CLASS=user
54
55 order_14: envp[14]=TERM=xterm-256color
56
57 order_15: envp[15]=LESSOPEN=||/usr/bin/lesspipe.sh %s
58
59 order_16: envp[16]=USER=wit
60
61 order_17: envp[17]=SHLVL=1
62
63 order_18: envp[18]=XDG_SESSION_ID=2
64
65 order_19: envp[19]=XDG_RUNTIME_DIR=/run/user/1000
66
67 order_20: envp[20]=SSH_CLIENT=10.10.10.12 12269 22
68
69 order_21: envp[21]=DEBUGINFOD_URLS=https://debuginfod.fedoraproject.org/
70
71 order_22: envp[22]=XDG_DATA_DIRS=/home/wit/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
72
73 order_23: envp[23]=PATH=/home/wit/.local/bin:/home/wit/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/wit/user/tools
74
75 order_24: envp[24]=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
76
77 order_25: envp[25]=MAIL=/var/spool/mail/wit
78
79 order_26: envp[26]=SSH_TTY=/dev/pts/0
80
81 order_27: envp[27]=OLDPWD=/home/wit
82
83 order_28: envp[28]=_=./envp_main
84 [wit@fedora null]$
85 [wit@fedora null]$
3. reference
3.1 线程环境变量 https://blog.csdn.net/weixin_60718941/article/details/127472536
本文由 lnlidawei 原创、整理、转载,本文来自于【博客园】; 整理和转载的文章的版权归属于【原创作者】; 转载或引用时请【保留文章的来源信息】:https://www.cnblogs.com/lnlidawei/p/17700416.html