词条 | env |
释义 | Linux命令env:显示当前用户的环境变量; env 是一个外部命令,程序文件/bin/env,列出所有环境变量及其赋值; 命令详解Linux系统里的env命令可以显示当前用户的环境变量,还可以用来在指定环境变量下执行其他命令。下面来比较一下set,env和export命令的异同:set命令显示当前shell的变量,包括当前用户的变量;env命令显示当前用户的变量;export命令显示当前导出成用户变量的shell变量。每个shell有自己特有的变量(set)显示的变量,这个和用户变量是不同的,当前用户变量和你用什么shell无关,不管你用什么shell都在,比如HOME,SHELL等这些变量,但shell自己的变量不同shell是不同的,比如BASH_ARGC,BASH等,这些变量只有set才会显示,是bash特有的,export不加参数的时候,显示哪些变量被导出成了用户变量,因为一个shell自己的变量可以通过export “导出”变成一个用户变量。 常用方式格式:env 打印当前用户的环境变量。 格式:env -i NAME1=VALUE1 NAME2=VALUE2 <command-line>使用指定的环境变量执行命令行<command-line>。 示例1. 显示环境变量HOME $ echo $HOME /home/terry 2. 设置一个新的环境变量WELCOME $ export WELCOME="Hello!" $ echo $WELCOME Hello! 3. 使用env命令显示所有的环境变量 $ env HOSTNAME=terry PVM_RSH=/usr/bin/rsh SHELL=/bin/bash TERM=xterm HISTSIZE=1000 环境变量什么是环境变量Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境 变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。 环境变量是一个具有 特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。许多用户(特别是那些刚接触Linux的新手)发现这些变量有些怪异或者难以控制。其 实,这是个误会:通过使用环境变量,你可以很容易的修改一个牵涉到一个或多个应用程序的配置信息。 常见的环境变量对于 PATH和HOME等环境变量大家都不陌生。 PATH能够指定命令的搜索路径,那么动态链接库的路径用什么变量指定呢?或者就是在 PATH里面? 比如有一个程序需要/usr/local/lib下面的一个库文件,应该怎么指定其路径呢? 经常看到有些变量如 LD_LIBRARY_PATH,LIBPATH,CLASSPATH等,他们之间有什么不同和关系? 除此之外,还有下面一些常见环境变 量。 HISTSIZE是指保存历史命令记录的条数。 LOGNAME是指当前用户的登录名。 HOSTNAME是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。 SHELL是指当前用户用的是哪种Shell。 LANG/LANGUGE是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。 MAIL是指当前用户的邮件存放目录。 PS1是基本提示符,对于root用户是#,对于普通用户是$。PS2是附属提示符,默认是“>”。可以通过修改此环境变量来修改当前的命令符,比 如下列命令会将提示符修改成字符串“Hello,My NewPrompt ”。 # PS1=" Hello,My NewPrompt " Hello,My NewPrompt 除了这些常见的环境变量,许多应用程序在安装时也会增加 一些环境变量,比如使用Java就要设置JAVA_HOME和CLASSPATH等,而安装五笔输入法会增加环境变量"XMODIFIERS=@im=fcitx"等。 定制环境变量环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell。对于Linux来说一般是bash,但也可以重新设 定或切换到其它的 Shell。环境变量是通过Shell命令来设置的,设置好的环境变量又可以被所有当前用户所运行的程序所使用。对于bash这个Shell程序来说,可 以通过变量名来访问相应的环境变量,通过export来设置环境变量。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。