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
———————————————————————————————————————————————
如何低价香港服务器购买?想要做一个个人博客,想用香港服务器,避免繁琐备案,性能不需要多高,只是记录一些日常而已,也没啥视频之类的东西,想问问各位大佬有没有低价的香港服务器推荐?香港距大陆近,相比美国服务器最大的优势在于延迟低,ping值低,但是带宽紧张,普遍都是1M,一般戏称其为“毛细血管”。同时价格普遍高,优质稳定的一般价格不菲。大厂云梯队阿里云、腾讯云两家都有香港服务器,要注意的是尽量不要选择...
Nocser刚刚在WHT发布了几款促销服务器,Intel Xeon X3430,8GB内存,1TB HDD,30M不限流量,月付$60.00。Nocser是一家注册于马来西亚的主机商,主要经营虚拟主机、VPS和马来西亚独立服务器业务,数据中心位于马来西亚AIMS机房,线路方面,AIMS到国内电信一般,绕日本NTT;联通和移动比较友好,联通走新加坡,移动走香港,延迟都在100左右。促销马来西亚服务器...
mineserver怎么样?mineserver是一家国人商家,主要提供香港CN2 KVM VPS、香港CMI KVM VPS、日本CN2 KVM VPS、洛杉矶cn2 gia端口转发等服务,云服务器网(yuntue.com)介绍过几次,最近比较活跃。现在新推出了3款特价KVM VPS,性价比高,香港CMI/洛杉矶GIA VPS,2核/2GB内存/20GB NVME/3.5TB流量/200Mbps...