本篇文章给大家分享的是有关linux下环境变量配错的解决方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
朋友在linux下配置环境变量的时候敲错了命令,导致新添加的环境变量覆盖了原先的环境变量,直接导致的结果就是Linux下大部分命令不可以使用,这个可吓坏了我的朋友,他从来没有遇到过这种问题,经过我的帮助和讲解,他发现这个问题并不可怕,现在已经解决,写篇博文贴出来,希望犯同样失误的人快速解决这个问题。
在linux中,按变量的生存周期来划分,Linux变量可分为两类,它们的修改方法如下:
(1)永久的:需要修改配置文件,变量永久生效。
常见的配置文件包括:
(1-1)/etc/profile:对所有用户生效;此文件为系统的每个用户设置环境信息,当用户第
一次登录时,该文件被执行;并从/etc/profile.d目录的配置文件中搜集shell的设置
例如:编辑/etc/profile文件,添加CLASSPATH变量
# vi /etc/profile
添加一行:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
修改后需要执行重新登录才能生效,也可以执行命令source /etc/profile来生效
(1-2)/etc/bashrc:对所有用户生效;为每一个运行bash shell的用户执行此文件.当bash
shell被打开时,该文件被读取。
编辑方法如上,不再赘述。
(1-3)~/.bash_profile:仅会对当前用户有效;每个用户都可使用该文件输入专用于自己
使用的shell信息,当用户登录时,该文件仅仅执行一次
例如:编辑guok用户目录(/home/guok)下的.bash_profile
$ vi /home/guok/.bash_profile
添加如下内容:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
修改后需要执行重新登录才能生效,也可以执行命令source /etc/profile来生效
(1-4)~/.bashrc:仅会对当前用户有效;该文件包含专用于你的bash shell的bash信息,当
登录时以及每次打开新的shell时,该该文件被读取.
编辑方法同上,不再赘述
另外,~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"
关系。
综述,对上述文件修改,添加你需要的变量,在启动一个shell(终端,terminal)时,你所
定义的变量均会生效的。
(2)临时的:使用export命令声明即可,变量只在当前的shell(BASH)或其子shell(BASH)下是有
效的,在关闭shell后失效,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。
定义方法:在shell的命令行下直接使用[export 变量名=变量值] 定义变量
问题现象:
解决办法:
直接解决方法:在命令行中输入 export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin 后 Enter
这一句执行后,只是临时生效,需要把这句保存到/etc/profile里才能永久生效。
#source /etc/profile
这时候所有的环境变量就恢复回来了,通过echo $PATH 可以查看。
以上就是linux下环境变量配错的解决方法,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。