当前位置: 技术问答>linux和unix
系统的环境变量与内核是什么关系??
来源: 互联网 发布时间:2016-06-26
本文导语: 系统的环境变量,如PATH,LD_LIBRARY_PATHD等,还有一些自己定义的环境变量,不知道与内核是什么关系,内核看的到这些环境变量吗?环境变量是如何与内核协同工作的呢??不知道我的问题描述的清不清楚~~ ...
系统的环境变量,如PATH,LD_LIBRARY_PATHD等,还有一些自己定义的环境变量,不知道与内核是什么关系,内核看的到这些环境变量吗?环境变量是如何与内核协同工作的呢??不知道我的问题描述的清不清楚~~
|
环境变量基本上就是系统一个默认库的路径。
就是执行各种脚本,代码,命令,环境变量作为路径的一种参考。
就是执行各种脚本,代码,命令,环境变量作为路径的一种参考。
|
什么是环境变量?
(以linux为例)Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。
常见的环境变量如PATH和HOME等大家都不陌生。除此之外,还有下面一些常见环境变量。
HISTSIZE是指保存历史命令记录的条数。
LOGNAME是指当前用户的登录名。
HOSTNAME是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。
SHELL是指当前用户用的是哪种Shell。
LANG/LANGUGE是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
MAIL是指当前用户的邮件存放目录。
PS1是基本提示符,对于root用户是#,对于普通用户是$。PS2是附属提示符,默认是“>”。可以通过修改此环境变量来修改当前的命令符。
getenv()访问一个环境变量。输入参数是需要访问的变量名字,返回值是一个字符串。如果所访问的环境变量不存在,则会返回NULL。
setenv()在程序里面设置某个环境变量的函数。
unsetenv()清除某个特定的环境变量的函数。
~/.profile 是在用户的主目录下的一个文件,每次用户登陆都会执行这里边的ENV环境变量设置。
/etc/profile是一个全局的环境变量设置,只要登陆系统的用户都会执行里面的ENV环境变量设置。
~/.kshrc是在用户的主目录下面的,每次执行KSH下面的子shell的时候,都会执行这里面的ENV环境变量设置。
~/.dtprofile是在用户的主目录下面的,在这里设置你进入CDE时的一些变量,如果用户没有通过CDE进入过系统,那么将不会产生这个文件,只 有用户曾经用CDE进入过系统后就会自动生成一个.dtprofile文件,然后还可以对里边的变量进行设置。如果在这个文件里的 DTSOURCEPROFILE的变量设置为true,则会读取用户主目录下的.profile文件里的变量设置,如果没有这个变量或者设置为 false,那么将不读取.profile里的环境变量。如果想让刚刚改变的.profile或.kshrc里面的设置马上生效使用,可以使用以下的命 令:
~/.profile
~/.kshrc
与Bourne shell或者Kron shell对应的profile是用户home目录下的.profile文件
与C shell对应的profile是用户home目录下的.login文件
与Bash对应的profile是用户home目录下的.bash_profile文件
(以linux为例)Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。
常见的环境变量如PATH和HOME等大家都不陌生。除此之外,还有下面一些常见环境变量。
HISTSIZE是指保存历史命令记录的条数。
LOGNAME是指当前用户的登录名。
HOSTNAME是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。
SHELL是指当前用户用的是哪种Shell。
LANG/LANGUGE是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
MAIL是指当前用户的邮件存放目录。
PS1是基本提示符,对于root用户是#,对于普通用户是$。PS2是附属提示符,默认是“>”。可以通过修改此环境变量来修改当前的命令符。
getenv()访问一个环境变量。输入参数是需要访问的变量名字,返回值是一个字符串。如果所访问的环境变量不存在,则会返回NULL。
setenv()在程序里面设置某个环境变量的函数。
unsetenv()清除某个特定的环境变量的函数。
~/.profile 是在用户的主目录下的一个文件,每次用户登陆都会执行这里边的ENV环境变量设置。
/etc/profile是一个全局的环境变量设置,只要登陆系统的用户都会执行里面的ENV环境变量设置。
~/.kshrc是在用户的主目录下面的,每次执行KSH下面的子shell的时候,都会执行这里面的ENV环境变量设置。
~/.dtprofile是在用户的主目录下面的,在这里设置你进入CDE时的一些变量,如果用户没有通过CDE进入过系统,那么将不会产生这个文件,只 有用户曾经用CDE进入过系统后就会自动生成一个.dtprofile文件,然后还可以对里边的变量进行设置。如果在这个文件里的 DTSOURCEPROFILE的变量设置为true,则会读取用户主目录下的.profile文件里的变量设置,如果没有这个变量或者设置为 false,那么将不读取.profile里的环境变量。如果想让刚刚改变的.profile或.kshrc里面的设置马上生效使用,可以使用以下的命 令:
~/.profile
~/.kshrc
与Bourne shell或者Kron shell对应的profile是用户home目录下的.profile文件
与C shell对应的profile是用户home目录下的.login文件
与Bash对应的profile是用户home目录下的.bash_profile文件