收藏 分享(赏)

Linux的环境变量.docx

上传人:hwpkd79526 文档编号:6628271 上传时间:2019-04-18 格式:DOCX 页数:9 大小:207.48KB
下载 相关 举报
Linux的环境变量.docx_第1页
第1页 / 共9页
Linux的环境变量.docx_第2页
第2页 / 共9页
Linux的环境变量.docx_第3页
第3页 / 共9页
Linux的环境变量.docx_第4页
第4页 / 共9页
Linux的环境变量.docx_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、 Linux 是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。常见的环境变量:1. $PATH:决定了 shell 将到哪些目录中寻找命令或程序2. $HOME:当前用户主目录3. $MAIL:是指当前用户的邮件存放目录。4. $SHELL:是指当前用户用的是哪种 Shell。5. $HISTSIZE:是指保存历史命令记录的条数6. $LOGNAME:是指当前用户的登录名。7. $HOSTNAME:是指主机的名称,许多应用程序如果

2、要用到主机名的话,通常是从这个环境变量中来取得的。8. $LANG/LANGUGE:是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。9. $PS1:是基本提示符,对于 root 用户是#,对于普通用户是$,也可以使用一些更复杂的值。10. $PS2:是附属提示符,默认是“”。可以通过修改此环境变量来修改当前的命令符,比如下列命令会将提示符修改成字符串“Hello,My NewPrompt :) ”。# PS1=“ Hello,My NewPrompt :) “11. $IFS:输入域分隔符。当 shell 读取输入时,用来分隔单词的一组字符,它们通常是空格、制表符和换行符。12.

3、 $0:shell 脚本的名字。例如,在我的 Linux 系统中:$ echo $0/bin/bash13. $#:传递给脚本的参数个数。14. $:shell 脚本的进程号,脚本程序通常会用它生成一个唯一的临时文件,如/tmp/tmfile_$例如,在我的 Linux 系统中:$ echo $31038 #表示当前 shell 进程号为 31038其中 1-8 是用户变量,9-14 是 shell 变量,两者的区别见后文。环境变量是和 Shell 紧密相关的,用户登录系统后就启动了一个 Shell 。对于 Linux 来说一般是 bash ,但也可以重新设定或切换到其它的 Shell 。根据

4、发行版本的情况, bash 有两个基本的系统级配置文件: /etc/bashrc 和 /etc/profile 。这些配置文件包含两组不同的变量: shell 变量和环境变量。前者只是在特定的 shell 中固定(如 bash ),后者在不同 shell 中固定。很明显, shell 变量是局部的,而环境变量是全局的。环境变量是通过 Shell 命令来设置的,设置好的环境变量又可以被当前用户所运行的所有程序所使用。对于 bash 这个 Shell 程序来说,可以通过变量名来访问相应的环境变量,通过 export 来设置环境变量。环境变量也称之为用户变量,因为它是用来配置用户的运行环境的,不同用

5、户可以配置成不同的环境。shell 变量会包含环境变量,所以在下面我们可以看到通过 echo 输出环境变量。当前环境变量和你用什么 shell 无关,不管你用什么 shell 都是存在的,比如HOME、SHELL 等这些变量。但 shell 变量,不同的 shell 是不同的,比如 BASH_ARGC, BASH 等,这些变量只有 set 才会显示,是 bash 特有的。export 不加参数的时候,显示哪些变量被导出成了用户变量,因为一个 shell 自己的变量可以通过 export“导出”变成一个用户变量。和环境变量有关的命令:1. 通过 echo 查看环境变量rootdemo demo#

6、 echo $PATH/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binecho:命令输出的 shell 变量,但是后面跟的是用户变量的变量名肯定也是能输出的,所以可以通过该方法可以快捷的查看对应的环境变量值。2. 通过 export 设置环境变量rootdemo demo# export newVAR=test(可以不用加引号)rootdemo demo# echo newVARnewVARrootdemo demo# export newVAR=$newVARheherootdemo demo# ec

7、ho $newVARtesthehe设置环境变量的时候,可以直接设置一个新的变量(如果变量名原先存在,那么覆盖掉原来的值),也可以在原基础上追加一个字符串,常见于设置 PATH 变量的时候。3. 使用 env 查看所有的环境变量rootdemo demo# envHOSTNAME=SELINUX_ROLE_REQUESTED=4. 使用 set 查看所以的 shell 变量rootdemo demo# setBASH=/bin/bash5. 使用 unset 清除环境变量(注意 set env export 设置的变量,都可以用 unset来清除)rootdemo demo# unset ne

8、wVARrootdemo demo# env|grep newVAR没有任何输出6. 使用 readonly 命令设置只读变量rootdemo demo# export newVAR=testrootdemo demo# readonly newVARrootdemo demo# unset newVAR-bash: unset: TEST: cannot unset: readonly variable通过修改环境变量定义文件来修改环境变量: 修改全局配置文件需要注意的是:不推荐这么做,因为这样修改后对所用用户都产生影响,非常不安全。$vi /etc/bashrc #修改 shell 变量

9、$vi /etc/profile #修改环境变量然后编辑你的 PATH 声明,其格式为:PATH=$PATH:-:你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效,如果想立刻生效,则可执行下面的语句:$ source .bash_profile需要注意的是,最好不要把当前路径 “./” 放到 PATH 里,这样可能会受到意想不到的攻击。完成后,可以通过 $ echo $PATH 查看当前的搜索路径。这样定制后,就可以避免频繁的启动位于 shell 搜索的路径之外的程序了。 修改某个用户的配置文件可以通过以下方法,只修改当前用户的配置:/.bash_profile

10、用户登录时被读取,其中包含的命令被执行/.bashrc 启动新的 shell 时被读取,并执行/.bash_logout shell 登录退出时被读取可以通过修改以上文件进行修改。.bash_profile 中定义了用户的 PATH 变量,.bashrc 定义了一些命令的别名。此外,shell(这里指 BASH)的初始化过程是这样的:1. bash 检查文件/etc/profile 是否存在2. 如果存在,bash 就读取该文件,否则,跳过3. bash 检查主目录下的文件.bash_profile 是否存在4. 如果存在,bash 就读取該文件,否则,跳过5. bash 检查主目录下的.ba

11、sh_login 是否存在6. 如果存在,bash 就读取该文件,否则,跳过7. bash 检查主目录下的文件.profile 是否存在8. 如果存在, bash 就读取该文件,否则,跳过。这些步骤都执行完后,就出现提示符了,ksh 默认提示符$。set,env 和 export 这三个命令的进一步区分/定义一个 shell 变量rootdemo demo# shellVar=demo/可以通过 echo 输出定义好的变量rootdemo demo# echo $shellVardemo/通过 set 查看定义的变量rootdemo demo# set | grep shellVarshell

12、Var=demo/通过 env 查看定义的变量rootdemo demo# env | grep shellVar没有任何输出/导入变量rootdemo demo# export shellVar/通过 env 查看定义的变量rootdemo demo# env | grep shellVarshellVar=demo网上的环境变量说明:PATH 这个变量包含了一系列由冒号分隔开的目录,系统就从这些目录里寻找可执行文件。如果你输入的可执行文件(例如 ls、rc-update 或者 emerge)不在这些目录中,系统就无法执行它(除非你输入这个命令的完整路径,如/bin/ls)。 ROOTPAT

13、H 这个变量的功能和 PATH 相同,但它只罗列出超级用户(root)键入命令时所需检查的目录。 LDPATH 这个变量包含了一系列用冒号隔开的目录,动态链接器将在这些目录里查找库文件。MANPATH 这个变量包含了一系列用冒号隔开的目录,命令 man 会在这些目录里搜索 man 页面。 INFODIR 这个变量包含了一系列用冒号隔开的目录,命令 info 将在这些目录里搜索 info页面。 PAGER 这个变量包含了浏览文件内容的程序的路径(例如 less 或者 more)。 EDITOR 这个变量包含了修改文件内容的程序(文件编辑器)的路径(比如 nano 或者 vi)。KDEDIRS 这

14、个变量包含了一系列用冒号隔开的目录,里面放的是 KDE 相关的资料。 CONFIG_PROTECT 这个变量包含了一系列用空格隔开的目录,它们在更新的时候会被Portage 保护起来。 CONFIG_PROTECT_MASK 这个变量包含了一系列用空格隔开的目录,它们在更新的时候不会被 Portage 保护起来。PATH:决定了 shell 将到哪些目录中寻找命令或程序HOME:当前用户主目录MAIL:是指当前用户的邮件存放目录。SHELL:是指当前用户用的是哪种 Shell。HISTSIZE:是指保存历史命令记录的条数LOGNAME:是指当前用户的登录名。 HOSTNAME:是指主机的名称,

15、许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。LANG/LANGUGE:是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。 PS1:是基本提示符,对于 root 用户是#,对于普通用户是$。PS2:是附属提示符,默认是“”。可以通过修改此环境变量来修改当前的命令符,比如下列命令会将提示符修改成字符串“Hello,My NewPrompt :) ”。 # PS1=“ Hello,My NewPrompt :) “设置 Linux 环境变量的三种方法1.Linux 的变量种类按变量的生存周期来划分,Linux 变量可分为两类:(1) 永久的:需要修改配置文件,变量永

16、久生效。(2) 临时的:使用 export 命令声明即可,变量在关闭 shell 时失效。2.设置变量的三种方法(1) 在/etc/profile 文件中添加变量对所有用户生效(永久的)用 VI 在文件 /etc/profile 文件中增加变量,该变量将会对 Linux 下所有用户有效,并且是“永久的”。例如:编辑/etc/profile 文件,添加 CLASSPATH 变量# vi /etc/profileexport CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib注:修改文件后要想马上生效还要运行# source /etc/profile 不然只能

17、在下次重进此用户时生效。(2) 在用户目录下的.bash_profile 文件中增加变量对单一用户生效(永久的)用 VI 在用户目录下的.bash_profile 文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。例如:编辑 guok 用户目录(/home/guok)下的.bash_profile$ vi /home/guok/.bash.profile添加如下内容:export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile 不然只能在下次重

18、进此用户时生效。(3) 直接运行 export 命令定义变量 只对当前 shell(BASH)有效(临时的)在 shell 的命令行下直接使用 export 变量名=变量值 定义变量,该变量只在当前的 shell(BASH)或其子 shell(BASH)下是有效的, shell 关闭了,变量也就失效了,再打开新 shell 时就没有这个变量,需要使用的话还需要重新定义。Geant4 运行环境设置 2010-08-14 02:42:45| 分类: 学习与工作 | 标签:geant4 |举报|字号 订阅记录设置 Ubuntu 系统内 Geant4 环境变量的不同方法,以及使用 Qt Creator 程序为Geant4 建立支持代码提示、自动补全以及编译和执行程序的 IDE 开发环境。Homepage: http:/geant4.cern.ch/User Surpport: http:/geant4.cern.ch/support/index.shtmlDownload: http:/geant4.web.cern.ch/geant4/support/download.shtmlCross Reference: http:/www-geant4.kek.jp/LXR/效果图:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报