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
———————————————————————————————————————————————
易探云怎么样?易探云是目前国内少数优质的香港云服务器服务商家,目前推出多个香港机房的香港云服务器,有新界、九龙、沙田、葵湾等机房,还提供CN2、BGP及CN2三网直连香港云服务器。近年来,许多企业外贸出海会选择香港云服务器来部署自己的外贸网站,使得越来越多的用户会选择易探云作为网站服务提供平台。今天,云服务器网(yuntue.com)小编来谈谈易探云和易探云服务器怎么样?具体香港云服务器多少钱1个...
atcloud主要提供常规cloud(VPS)和storage(大硬盘存储)系列VPS,其数据中心分布在美国(俄勒冈、弗吉尼亚)、加拿大、英国、法国、德国、新加坡,所有VPS默认提供480Gbps的超高DDoS防御+不限流量,杜绝DDoS攻击骚扰,比较适合海外建站等相关业务。ATCLOUD.NET是一家成立于2020年的海外主机商,主要提供KVM架构的VPS产品、LXC容器化产品、权威DNS智能解...
RAKsmart 虽然是美国主机商,但是商家的主要客户群还是在我们国内,于是我们可以看到每次的国内节日促销活动期间商家也会发布促销。包括这次年中大促活动,RAKsmart商家也有发布为期两个月的年终活动,其中有商家擅长的独立服务器和便宜VPS主机。服务器包括站群服务器、特价服务器、高达10G带宽不限制流量的美国服务器。商家优惠活动,可以看到对应商品的优惠,同时也可以使用 优惠码 RAKBL9 同时...