用C++打印环境变量environ

cpp 复制代码
#include <stdio.h>
#include <unistd.h>

using namespace std;
int main()
{
    extern char** environ;

    for(int i = 0; environ[i] != NULL; ++i)
    {
        printf("%s\n",environ[i]);
    }

    return 0;
}

输出很多,大致如下(敏感信息用xxx代替):

cpp 复制代码
[single_test2]$ gcc 打印环境变量.cpp 
[single_test2]$ ./a.out 
LS_COLORS=rs=0:di=38;5;33:ln=38;5;51:mh=00:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=01;05;37;41:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;40:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.zst=38;5;9:*.tzst=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.wim=38;5;9:*.swm=38;5;9:*.dwm=38;5;9:*.esd=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.mjpg=38;5;13:*.mjpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.m4a=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.oga=38;5;45:*.opus=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:
LD_LIBRARY_PATH=:/opt/ZTE-UDS-DRM
XDG_CONFIG_HOME=/home/xxx/.config
XDG_MENU_PREFIX=nde-
LANG=zh_CN.UTF-8
HISTCONTROL=ignoredups
DISPLAY=:0
HOSTNAME=xxx.intra
GDK_SCALE=1
GTK_OVERLAY_SCROLLING=0
GTK_CSD=0
IMSETTINGS_INTEGRATE_DESKTOP=yes
KDEDIRS=/usr
XDG_VTNR=1
SSH_AUTH_SOCK=/tmp/ssh-XXXXXXnDHSkY/agent.659xxx
S_COLORS=auto
XDG_SESSION_ID=2458
USER=xxx.intra
DESKTOP_SESSION=/usr/share/xsessions/nde
GDK_DPI_SCALE=1
IMSETTINGS_MODULE=FCITX
QT_QPA_PLATFORMTHEME=nde
PWD=xxx/single_test2
SSH_ASKPASS=/usr/libexec/openssh/nde-openssh-askpass
HOME=/home/xxx.intra
SSH_AGENT_PID=660xxx
XDG_SESSION_TYPE=x11
https_proxy=https://proxy.zte.com.cn:80
QT_PLATFORM_PLUGIN=nde
XDG_DATA_DIRS=/home/10308005@zte.intra/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
http_proxy=http://proxy.zte.com.cn:80
XDG_SESSION_DESKTOP=
QT_SCALE_FACTOR=1
no_proxy=::1,10.*.*.*,10.0.0.0/8,10.192.45.187,10.234.68.5,10.30.6.48,10.3.76.100,10.40.66.240,10.54.12.47,10.57.163.170,10.88.138.100,10.88.138.8,10.88.40.91,10.88.98.10,127.0.0.0/8,gerrit.xxx.intra
SAL_USE_VCLPLUGIN=kde4
MAIL=/var/spool/mail/xxx.intra
TERM=xterm-256color
SHELL=/bin/bash
XDG_SESSION_CLASS=user
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
all_proxy=socks://proxy.zte.com.cn:80
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
XDG_CURRENT_DESKTOP=Nde
XDG_SEAT=seat0
SHLVL=2
COLORFGBG=15;0
LANGUAGE=
WINDOWID=0
QT_QPA_PLATFORM=xcb
XDG_CACHE_HOME=/home/xxx.intra/.cache
LOGNAME=xxx.intra
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
XDG_RUNTIME_DIR=/run/user/1000
XAUTHORITY=/home/xxx.intra/.Xauthority
NDE_SESSION_CONFIG=session
XDG_DATA_HOME=/home/xxx.intra/.local/share
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1
XDG_CONFIG_DIRS=/etc:/etc/xdg:/usr/share
PATH=/home/xxx.intra/.local/bin:/home/xxx.intra/bin:/home/xxx.intra/.local/bin:/home/xxx.intra/bin:/usr/local/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin
HISTSIZE=1000
ftp_proxy=ftp://proxy.zte.com.cn:80
LESSOPEN=||/usr/bin/lesspipe.sh %s
GTK_IM_MODULE=fcitx
OLDPWD=/home/xxx.intra/Desktop
_=./a.out
相关推荐
longlongzihan几秒前
从LeetCode 19. 删除链表的倒数第 N 个结点深入理解“哨兵节点”
c++·算法·leetcode·链表
爱吃提升26 分钟前
Dev-C++ 5.11 完整版快捷键大全(信奥/初学适用)
c语言·c++
SWAGGY..1 小时前
【C++进阶】:(10)哈希表的原理与实现——从哈希函数到哈希桶
c++·哈希算法·散列表
码匠许师傅1 小时前
【C++三方组件】redis-plus-plus:现代 Redis C++ 客户端
java·c++·redis
wuminyu2 小时前
stackChunkOop内部结构与GC屏障的配合工作原理剖析
java·linux·c语言·jvm·c++
小π军2 小时前
C 和 C++ 是否都支持函数的重载?
java·c语言·c++
烟花落o2 小时前
C++ 从 C 到进阶 ④:类和对象(下)—— 构造函数进阶、static、友元与内部类
c++·类和对象·初始化列表·匿名对象·内部类·友元函数·static成员函数
stellanke2 小时前
工业化C++:3. 继承、虚函数与运行时多态:从水果加工到日志策略设计
开发语言·c++
垆边人似月.2 小时前
华为题:最多可以参加的会议数目
数据结构·c++·算法
xiangyun612 小时前
C++ list 模拟实现(一):手撕双向链表,从节点到迭代器
数据库·c++·算法·链表·stl·list