linux环境变量set env export细解

发布时间:2016-12-11 2:52:50 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"linux环境变量set env export细解",主要涉及到linux环境变量set env export细解方面的内容,对于linux环境变量set env export细解感兴趣的同学可以参考一下。

set:显示(设置)shell变量 包括的私有变量以及用户变量,不同类的shell有不同的私有变量 bash,ksh,csh每中shell私有变量都不一样 env:显示(设置)用户变量 export:显示(设置)当前导出成用户变量的shell变量。 每个shell都有自己特有的变量,这和用户变量是不同的。当前用户变量和你用什么shell无 关,不管你用什么shell都是存在的。比如HOME,SHELL等这些变量,但shell自己的变量,不同的shell是不同的,比如 BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的。export不加参数的时候,显示哪些变量被导出成了用户变量,因为一个shell自己的变 量可以通过export “导出”变成一个用户变量。 举个例子来讲:    [c-sharp] view plaincopy [[email protected] ~]$ aaa=bbb --shell变量设定      [[email protected] ~]$ echo $aaa       bbb      [[email protected] ~]$ env| grep aaa --设置完当前用户变量并没有      [[email protected] ~]$ set| grep aaa  --shell变量有      aaa=bbb      [[email protected] ~]$ export| grep aaa --这个指的export也没导出,导出变量也没有      [[email protected] ~]$ export aaa   --那么用export 导出一下      [[email protected] ~]$ env| grep aaa  --发现用户变量内存在了      aaa=bbb     总结:linux 分 shell变量(set),用户变量(env), shell变量包含用户变量,export是一种命令工具,是显示那些通过export命令把shell变量中包含的用户变量导入给用户变量的那些变量.   二:使用unset命令来清除环境变量,注意set env  export设置的变量,都可以用unset来清除的 [c-sharp] view plaincopy 清除环境变量的值用unset命令。如果未指定值,则该变量值将被 设为NULL。示   例如下:     $ export TEST="Test..." #增加一个环境变量TEST     $ env|grep TEST #此命令有输入,证明环境变量TEST已经存在了     TEST=Test...     $ unset $TEST #删除环境变量TEST     $ env|grep TEST #此命令没有输出,证明环境变量TEST已经不存在了     三:使用readonly命令设置只读变量 [c-sharp] view plaincopy 使用了readonly命令的话,变量就不可以被修改或清除了。示例如下:   $ export TEST="Test..." #增加一个环境变量TEST   $ readonly TEST #将环境变量TEST设为只读   $ unset TEST #会发现此变量不能被删除   -bash: unset: TEST: cannot unset: readonly variable   $ TEST="New" #会发现此也变量不能被修改   -bash: TEST: readonly variable     四:最根本的设置、更改变量的配置文件 ~/.bash_profile   ~/.bashrc   ~/.bash_logout ~/.bash_profile  用户登录时被读取,其中包含的命令被执行 ~/.bashrc  启动新的shell时被读取,并执行 ~/.bash_logout  shell 登录退出时被读取   此外,shell(这里指bash)的初始化过程是这样的: 1.bash 检查文件/etc/profile 是否存在 2. 如果存在,bash 就读取该文件,否则,跳过 3.bash 检查主目录下的文件.bash_profile 是否存在。 4. 如果存在,bash 就读取該文件,否则,跳过 5.bash 检查主目录下的.bash_login 是否存在。 6. 如果存在,bash 就读取该文件,否则,跳过 7.bash 检查主目录下的文件.profile 是否存在 8. 如果存在, bash 就读取该文件,否则,跳过。 这些步骤都执行完后,就出现提示符了, ksh 默认提示符是 $.     五:常见的shell变量 PATH 这个变量包含了一系列由冒号分隔开的目录,系统就从这些目录里寻找可执行文件。如果你输入的可执行文件(例如ls、rc-update或者emerge) 不在这些目录中,系统就无法执行它(除非你输入这个命令的完整路径,如/bin/ls)。   ROOTPATH 这个变量的功能和PATH相同,但它只罗列出超级用户(root)键入命令时所需检查的目录。   LDPATH 这个变量包含了一系列用冒号隔开的目录,动态链接器将在这些目录里查找库文件。  MANPATH 这个变量包含了一系列用冒号隔开的目录,命令man会在这些目录里搜索man页面。   INFODIR 这个变量包含了一系列用冒号隔开的目录,命令info将在这些目录里搜索info页面。   PAGER 这个变量包含了浏览文件内容的程序的路径(例如less或者more)。   EDITOR 这个变量包含了修改文件内容的程序(文件编辑器)的路径(比如nano或者vi)。   KDEDIRS 这个变量包含了一系列用冒号隔开的目录,里面放的是KDE相关的资料。  CONFIG_PROTECT 这个变量包含了一系列用空格隔开的目录,它们在更新的时候会被Portage保护起来。  CONFIG_PROTECT_MASK 这个变量包含了一系列用空格隔开的目录,它们在更新的时候不会被Portage保护起来。     PATH:决定了shell将到哪些目录中寻找命令或程序 HOME:当前用户主目录 MAIL:是指当前用户的邮件存放目录。 SHELL:是指当前用户用的是哪种Shell。 HISTSIZE:是指保存历史命令记录的条数 LOGNAME:是指当前用户的登录名。  HOSTNAME:是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。 LANG/LANGUGE:是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。  PS1:是基本提示符,对于root用户是#,对于普通用户是$。 PS2:是附属提示符,默认是“>”。可以通过修改此环境变量来修改当前的命令符,比如下列命令会将提示符修改成字符串“Hello,My NewPrompt :) ”。  # PS1=" Hello,My NewPrompt :) "   linux下如何设置LD_LIBRARY_PATH: 设置: LD_LIBRARY_PATH=/usr/lib:/lib:/usr/local/lib:/usr/local/mylib(设置shell变量) export LD_LIBRARY_PATH(将shell变量导出成用户变量) 查看: echo $LD_LIBRARY_PATH

上一篇:最新研究:在手机上,Data-url和CSS Sprites哪一个更快?
下一篇:Android 关于inflate

相关文章

相关评论