Linux设置和查看环境变量
在l inux系统下如果你下载并安装了应用程序很有可能在键入它的名称时出现“command notfound”的提示内容。如果每次都到安装目标文件夹内找到可执行文件来进行操作就太繁琐了。这涉及到环境变量PATH的设置问题而PATH的设置也是在l in ux下定制环境变量的一个组成部分。 l inux查看环境变量与设置环境变量在使用过程中很常见本文整理了一些常用的与环境变量相关的命令。
一、设置变量的三种方法
1、在/etc/profi le文件中添加变量【对所有用户生效(永久的)】
用VI在文件/etc/profi le文件中增加变量该变量将会对Linux下所有用户有效并且是“永久的”。
例如编辑/etc/profi le文件添加CLASSPATH变量
#vi/etc/profi le export
CLASSPATH=./JAVA_HOME/l ib;$JAVA_HOME/jre/l ib
注修改文件后要想马上生效还要运行#source/etc/profi le不然只能在下次重进此用户时生效。
2、在用户目录下的.bash_profi le文件中增加变量【对单一用户生效(永久的)】
用VI在用户目录下的.bash_profi le文件中增加变量改变量仅会对当前用户有效并且是“永久的”。 这种方法更为安全它可以把使用这些环境变量的权限控制到用户级别,这里是针对某一个特定的———————————————————————————————————————————————
用户如果你需要给某个用户权限使用这些环境变量你只需要修改其个人用户主目录下的.bash_profi le文件就可以了。通常.bash_profi le和.bashrc认为效果一样也就是此处在.bashrc中增加环境变量也行。
例如编辑guok用户目录(/home/guok)下的.bash_profi le $vi/home/guok/.bash.profi le
添加如下内容exportCLASSPATH=./JAVA_HOME/l ib;$JAVA_HOME/jre/l ib
注修改文件后要想马上生效还要运行$source
/home/guok/.bash_profi le不然只能在下次重进此用户时生效。
3、 控制台中直接运行export命令定义变量【只对当前shel l(BASH)有效(临时的)】 在shel l的命令行下直接使用[export变量名=变量值]定义变量
如 $export HELLO="Hel lo!"
该变量只在当前的shel l(BASH)或其子shel l(BASH)下是有效的shel l关闭了变量也就失效了再打开新shel l时就没有这个变量需要使用的话还需要重新定义。
二、系统启动读取顺序
/etc/profi le /etc/bashrc 是系统全局环境变量设定
~/.profi le ~/.bashrc 用户家目录下的私有环境变量设定
当登入系统时候获得一个shel l进程时其读取环境设定档有三步
1、首先读入的是全局环境变量设定档/etc/profi le然后根据其内———————————————————————————————————————————————
容读取额外的设定的文档如/etc/profi le.d和/etc/inputrc 。
2、然后根据不同使用者帐号去其根目录读取~/.bash_profi le如果这读取不了就读取~/.bash_login这个也读取不了才会读取~/.profi le这三个文档设定基本上是一样的读取有优先关系。其中 Unbutu默认没有~/.bash_profi le文件可新建。
3、最后在根据用户帐号读取~/.bashrc 。
三、查看环境变量
1、显示已知的环境变量
如 $echo$HELLOecho$JAVA_HOME
2、用env命令显示所有的环境变量
$env
3、用set命令显示所有本地定义的Shel l变量
$set
4、用unset命令清除环境变量set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值则该变量值将被设为NULL。示例如下
$exportTEST="Test. . ."#增加一个环境变量TEST
$env|grep TEST#此命令有输入证明环境变量TEST已经存在了
TEST=Test. . .
$unset$TEST#删除环境变量TEST
$env|grep TEST#此命令没有输出证明环境变量TEST已经存在———————————————————————————————————————————————
了
5、用readonly命令设置只读变量
如果使用了readonly命令的话变量就不可以被修改或清除了。示例如下 $export TEST="Test.. ."#增加一个环境变量TEST
$readonly TEST
$unset TEST #将环境变量TEST设为只读 #会发现此变量不能被删除
-bash:unset:TEST:cannot unset: readonly variable
$TEST="New" #会发现此也变量不能被修改
-bash:TEST: readonlyvariable
———————————————————————————————————————————————
racknerd怎么样?racknerd最近发布了一些便宜美国服务器促销,包括大硬盘服务器,提供120G SSD+192TB HDD,有AMD和Intel两个选择,默认32G内存,1Gbps带宽,每个月100TB流量,5个IP地址,月付$599。价格非常便宜,需要存储服务器的朋友可以关注一下。RackNerd主要经营美国圣何塞、洛杉矶、达拉斯、芝加哥、亚特兰大、新泽西机房基于KVM虚拟化的VPS、...
萤光云怎么样?萤光云是一家国人云厂商,总部位于福建福州。其成立于2002年,主打高防云服务器产品,主要提供福州、北京、上海BGP和香港CN2节点。萤光云的高防云服务器自带50G防御,适合高防建站、游戏高防等业务。目前萤光云推出北京云服务器优惠活动,机房为北京BGP机房,购买北京云服务器可享受6.5折优惠+51元代金券(折扣和代金券可叠加使用)。活动期间还支持申请免费试用,需提交工单开通免费试用体验...
imidc对日本独立服务器在搞特别促销,原价159美元的机器现在只需要88美元,而且给13个独立IPv4,30Mbps直连带宽,不限制流量。注意,本次促销只有一个链接,有2个不同的优惠码,你用不同的优惠码就对应着不同的配置,价格也不一样。88美元的机器,下单后默认不管就给512G SSD,要指定用HDD那就发工单,如果需要多加一个/28(13个)IPv4,每个月32美元...官方网站:https:...