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
———————————————————————————————————————————————
7月4日是美国独立日,大致就是国庆节的意思吧。hostodo今年提前搞了个VPS大促销活动,4款便宜VPS,相当于7折,续费不涨价,本次促销不定时,不知道有多少货,卖完为止。VPS基于KVM虚拟,NVMe阵列,1Gbps带宽,自带一个IPv4+/64 IPv6,solusvm管理,送收费版DirectAdmin授权,VPS在用就有效! 官方网站:https://www.hostodo.com ...
香港服务器租用多少钱一个月?香港服务器受到很多朋友的青睐,其中免备案成为其特色之一。很多用户想了解香港云服务器价格多少钱,也有同行询问香港服务器的租赁价格,一些实际用户想要了解香港服务器的市场。虽然价格是关注的焦点,但价格并不是香港服务器的全部选择。今天小编介绍了一些影响香港服务器租赁价格的因素,以及在香港租一个月的服务器要花多少钱。影响香港服务器租赁价格的因素:1.香港机房选择香港机房相当于选择...
运作了18年的德国老牌机房contabo在继去年4月开办了第一个美国数据中心(中部城市:圣路易斯)后立马在本月全新上马两个数据中心:纽约、西雅图。当前,为庆祝美国独立日,美国三个数据中心的VPS全部免除设置费,VPS本身的配置很高,价格适中,有较高的性价比!官方网站:https://contabo.com/en/SSD VPSKVM虚拟,纯SSD阵列,不限制流量,自带一个IPv4内存CPUSSD带...