environ - 用户环境(变量)
SYNOPSIS 总览
extern char **environ;
DESCRIPTION 描述
变量 environ 指向的是一个叫 'environment'(环境)的字符串数组 (这个变量必须在用户程序中声明,但是在使用 libc4 或 libc5 以及使用 glibc 并且定义了 _GNU_SOURCE 的情况下 ,它是在头文件 unistd.h 中声明的)。对于一个进程,这个字符串的数组是通过开始进程的 exec(3) 调用来得到,习惯上,这些字符串的格式是
- USER
- 登录用户的名字(被一些从 BSD 派生来程序所使用)。
- LOGNAME
- 登录用户的名字(被一些从 System-V 派生来程序所使用)。
- HOME
- 用户的登录目录,被login(1)按口令文件 passwd(5) 设置。
- LANG
- 当不被 LC_ALL 或更特殊的环境变量所忽略的时候,是用于地域分类的地域名。
- PATH
- 预先设定的目录前缀的序列,sh(1) 和许多程序可借此查找路径名不完全的文件。前缀由':'分隔。(类似的,有一些 shell 用 CDPATH 查找位于不同目录的命令,以及用 MANPATH 找手册页等等。)
- PWD
- 当前的工作路径。被一些 shell 设置。
- SHELL
- 用户的登录 shell 的文件名。
- TERM
- 用于准备输出的终端类型。
- PAGER
- 用户指定的显示文本文件的工具。
- EDITOR/VISUAL
- 用户指定的编辑文本文件的工具。
更多的名字可以通过和在 sh(1) 中的 export 命令和 'name=value',或 csh(1) 中的 setenv 命令设置。参数也可以在执行 exec(2) 的时候被放置在环境中。一个 C 程序可以使用函数 getenv(3)、 putenv(3)、 setenv(3) 和 unsetenv(3) 来操纵自身的环境。
注意许多程序和库例程的行为受特定的环境变量的存在和值的影响。随便的搜集一下就有:
环境变量 LANG、LANGUAGE、NLSPATH、LOCPATH、LC_ALL、 LC_MESSAGES 等影响地域的处理。
TMPDIR 影响 tmpnam(3) 生成名字的路径名前缀和其他一些例程, sort(1) 和其他程序用的临时文件目录等等。
LD_LIBRARY_PATH、LD_PRELOAD 和其他 LD_* 变量影响动态 (装载器/连接器)的行为。
POSIXLY_CORRECT 使特定的程序和库例程遵循 POSIX 规定。
MALLOC_* 变量影响 malloc(3) 的行为。
HOSTALIASES 变量给出包含 gethostbyname(3) 用的别名的文件的文件名。
TZ 和 TZDIR 给出时区信息。
TERMCAP 给出给定终端的窗口大小(或给出包含这种信息的文件的文件名)。
等等,还有很多。
这里有一个明显的安全风险。不止一个系统命令曾经被一个使用了一个不寻常的 IFS 或 LD_LIBRARY_PATH 变量值的用户诱入骗局中。
environ - 用户环境(变量)的更多相关文章
- Linux用户环境变量
Linux用户环境变量 环境变量就是系统或软件设置的一些参数,用户环境变量就是用户登录系统后,都有自已专用的运行环境.在Windows系统中用户环境变量保存在用户家目录,Linux也是同样的.本文主要 ...
- linux sudo 系统环境变量 用户环境变量
1. sudo就是普通用户临时拥有root的权限.好处在于,大多数时候使用用户自定义的配置,少数情况可以通过sudo实现root权限做事. 故而,需要注意的一点是,在你使用了sudo后,你临时不再是原 ...
- Mac 修改用户环境变量
Mac 修改用户环境变量 sudo vim ~/.bash_profile
- Linux - 用户环境变量的查看与设置
1. 查看当前有哪些环境变量 直接输入命令:env 2. 设置用户环境变量 输入命令:vim ~/.bash_profile,打开文件,输入如下内容: 范例(设置maven环境变量): export ...
- 用户环境变量 shell变量 别名
常见用户环境变量: 环境变量 说明 LANG HOME LOGNAME 用户名 PATH SHELL PWD 查看环境变量用:env或者echo $LANG 设置用户环境变量:ex ...
- linux修改当前用户环境变量永久生效
在linux环境中,修改当前用户环境变量,且永久生效的方法如下. 1,编辑~/.bash_profile文件 1 2 3 # Get the aliases and functions 4 if [ ...
- Center os 用户环境变量
vi ~/.bash_profile进入用户环境变量设置 export JAVA_HOME=/usr/java/jdk1.7.0_76export JAVA_BIN=$JAVA_HOME/binexp ...
- python 设置系统/用户环境变量
系统环境变量 winreg.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment' 用户环境变 ...
- (转)在Linux里设置用户环境变量的方法
背景:在linux下,root用户安装完jdk后,非root用户不能使用java环境变量. 问题排查: 通过在root和非root用户下分别执行echo $PATH 可以观察环境变量的异同.然后将需要 ...
随机推荐
- NOIP2007 矩阵取数游戏(区间DP)
传送门 这道题第一眼看上去可能让人以为是贪心……不过贪心并不行,因为每次的操作是有2的幂次方的权值的.这样的话直接每次贪心最小的就目光短浅.所以那我们自然想到了DP. 据说这是一道很正常的区间DP? ...
- NOIP2008题解
传送门 考查题型 二分图 暴力枚举 判断素数 dp T1 传纸条 题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和 ...
- py-day8-socket网络编程
本节内容 Socket介绍 Socket参数介绍 基本Socket实例 Socket实现多连接处理 通过Socket实现简单SSH 通过Socket实现文件传送 作业:开发一个支持多用户在线的FTP程 ...
- 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时8&&9
课时8 反向传播与神经网络初步(上) 反向传播在运算连路中,这是一种通过链式法则来进行递推的计算过程,这个链路中的每一个中间变量都会对最终的损失函数产生影响. 链式法则通常包含两部分,局部梯度和后一层 ...
- 用grep在子目录中指定的文件类型中查找(转载)
转自:http://www.ai7.org/wp/html/653.html grep -r abcd *.py 这样的命令得不到你期待的结果,而 grep -r abcd * 这样得到的结果又太多, ...
- 洛谷 - P2887 - 防晒霜Sunscreen - 贪心
https://www.luogu.org/problemnew/show/P2887 感觉可以: 把防晒霜拆点限制流量为瓶数,奶牛拆点限制流量为1,当某个防晒霜与奶牛匹配时连一条边,求最大流.但是这 ...
- (水题)洛谷 - P1051 - 谁拿了最多奖学金
https://www.luogu.org/problemnew/show/P1051 这个根本就不用排序啊…… #include<bits/stdc++.h> using namespa ...
- vector理解一波~~~
Vector: 头文件: #include<vector> using namespacestd; 定义: vector<类型>q;//类同于 "类型 q[];&q ...
- C# 中==和Equal的区别
http://new-fighter.iteye.com/blog/1634800 今天突然看到一种情况,颠覆了我对这比较使用方法的判断. 于是开始在网上找资料,但几乎都是Java的,好不容易找到一个 ...
- poj 2406 Power Strings【kmp】
kmp,根据next数组的性质如果有答案的话就是n/(n-(ne[n]+1)),否则是1 搬来打算用SA后来发现必须用DC3就没写 #include<iostream> #include& ...