作为一个热爱技术的程序猿,对于Linux的熟悉与使用是必不可少的。下面我们将对Linux应用编程以及环境变量相关进行讲解。环境变量 环境变量,是指在操作系统中用来指定操作系统运行环境的一些参数。比如说,用户登录到系统后,他的家目录是什么?默认文本编辑器是什么?默认shell程序是什么?类似这样的信息就称为环境变量。环境变量通常具备以下特征: ① 以字符串形式存储; ② 以健值对格式存储:健=值[:值] (同一个健有多个值的话,值与值之间以:相隔) ③ 值用来描述进程环境信息。 存储形式:char *[]数组,数组名environ,内部存储字符串,以NULL结尾。 加载位置:位于用户区,高于stack的起始位置。 引入环境变量表:须声明环境变量。extern char ** environ; 查看本机的环境变量:使用命令env。 编程打印本机所有环境变量: #include 常用环境变量 按照惯例,环境变量字符串都是name=value这样的形式,大多数name由大写字母加下划线组成,一般把name的部分叫做环境变量,value的部分则是环境变量的值。环境变量定义了进程的运行环境,一些比较重要的环境变量的含义如下: PATH 可执行文件的搜索路径。 比如我们在命令行窗口执行ls命令,系统会自动到PATH所指定的目录下寻找该命令所对应的程序,而无需我们显式的指定该命令完整路径/bin/ls。 而对于我们自己写的程序,我们通常需要加上完整的路径,比如执行当前目录下的程序a.out,需要执行./a.out,这是因为PATH环境变量的值里面不包含a.out所在的目录。 在Shell中查看某个环境变量的值,可以使用echo命令,比如查看PATH的值,可以执行以下命令: $ echo $PATH SHELL 当前所使用的Shell,它的值通常是/bin/bash,但不同的linux发行版可能不一样。 TERM 当前终端类型,在图形界面终端下它的值通常是xterm,终端类型决定了一些程序的输出显示方式,比如图形界面终端可以显示汉字,而字符终端一般不行。 LANG 系统默认语言,即系统的菜单、程序的工具栏语言、输入法默认语言等,决定了字符编码以及时间、货币等信息的显示格式。 HOME 当前用户主目录的路径,很多程序需要在主目录下保存配置文件,使得每个用户在运行该程序时都有自己的一套配置。 常用函数 getenv函数 函数说明:获取环境变量值 函数原型:char *getenv(const char *name); 函数返回值:成功:返回环境变量的值;失败:NULL (name不存在) 练习:编程实现getenv函数。 #include setenv函数 函数说明:设置环境变量的值 函数原型:int setenv(const char *name, const char *value, int overwrite); 参数overwrite取值: 1:覆盖原环境变量 0:不覆盖。(该参数常用于设置新环境变量,如:ABC = haha-day-night) 返回值:成功:0;失败:-1 unsetenv函数 函数说明:删除环境变量name的定义 函数原型:int unsetenv(const char *name); 返回值:成功:0;失败:-1 注意事项:name不存在仍返回0(成功),当name带“=”时则会出错。 #include 想要学习更多IT技术的小伙伴们,记得点个关注哦,小编会定期推出新的文章 |
|
来自: 昵称11935121 > 《未命名》