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
———————————————————————————————————————————————
青云互联怎么样?青云互联是一家成立于2020年6月的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务,目前提供有美国免费主机、香港主机、香港服务器、美国云服务器,让您的网站高速、稳定运行。美国cn2弹性云主机限时8折起,可选1-20个IP,仅15元/月起,附8折优惠码使用!点击进入:青云互联官方网站地址青云互联优惠码:八折优惠码:ltY8sHMh (续费同价)青云互联活动方案:美国洛杉矶...
官方网站:点击访问亚州云活动官网活动方案:地区:美国CERA(联通)CPU:1核(可加)内存:1G(可加)硬盘:40G系统盘+20G数据盘架构:KVM流量:无限制带宽:100Mbps(可加)IPv4:1个价格:¥128/年(年付为4折)购买:直达订购链接测试IP:45.145.7.3Tips:不满意三天无理由退回充值账户!地区:枣庄电信高防防御:100GCPU:8核(可加)内存:4G(可加)硬盘:...
趣米云早期为做技术起家,为3家IDC提供技术服务2年多,目前商家在售的服务有香港vps、香港独立服务器、香港站群服务器等,线路方面都是目前最优质的CN2,直连大陆,延时非常低,适合做站,目前商家正在做七月优惠活动,VPS低至18元,价格算是比较便宜的了。趣米云vps优惠套餐:KVM虚拟架构,香港沙田机房,线路采用三网(电信,联通,移动)回程电信cn2、cn2 gia优质网络,延迟低,速度快。自行封...