Linux下环境变量的那些事

  • 内容
  • 评论
  • 相关

前言

昨天晚上在kali(基于Linux的Debian)上折腾Android源码的时候需要将一些路径加入环境变量,不过貌似配置错了,然后进入了输入用户名、密码然后黑屏返回登录界面需要重新输入用户名、密码的死循环,搜索一番原来是环境变量配置错误导致的,所以这里记录下来便于以后查找顺便分享给大家。

查看环境变量

1、查看所有环境变量

在命令行中输入env即可查看所有的环境变量,使用键值对的形式,环境变量之间使用:号隔开的。Demo如下

2、查看指定的环境变量

想要查看指定的环境变量使用echo ${环境变量名}即可查看(这里类似shell脚本使用已经定义的变量)

比如查看PATH指向的环境变量就是echo ${PATH} 或者echo $PATH。Demo如下

几个设置环境变量的位置

/etc/profile: 此文件为系统的每个用户设置环境信息。当任何用户登录时,该文件被执行一次

~/.bash_profile 或 ~/.profile(不同版本Linux不同): 只对单个用户生效,当用户登录时该文件仅执行一次

~/.bashrc: 只对单个用户生效,对单个用户生效,当用户登录以及每次打开新的 shell 时,该文件被执行

设置环境变量

1、设置全局环境变量

全局的环境变量在/etc/profile文件中进行修改(修改该文件需要root权限)。在此文件中新增的环境变量所有用户都会生效。我们仅仅需要在文件末尾写入环境变量即可。

写入新环境变量如下所示,这样我们就有一个名为JAVA_HOME的环境变量了。

往已有的环境变量中添加一个新路径(路径之间使用:号隔开),Demo如下。这样我们就将${JAVA_HOME}/bin这个环境变量指向的路径添加到PATH中了。

PS:要想修改生效,需要使用source /etc/profile命令,或者重新登录此用户即可

2、设置单个用户有效的环境变量

设置单个用户有效的环境变量需要修改~/.bashrc文件。修改规则与上面介绍的一样

PS:要想修改生效,需要使用source ~/.bashrc命令,或者重新登录此用户即可

~代表用户目录.bashrc中的.说明是隐藏文件,使用ls -a可以看到这个文件,如下,我们cd ~然后打印当前路径为/home/用户名/

3、设置当前shell有效的环境变量

当前shell有效是指关闭或者注销shell以后,下次重新进去就失效了。我们直接使用export命令即可。比如下面就创建了一个名为tempenv的环境变量,指向/home/xjh目录。

后记

顺便介绍下解决linux系统不停返回登录界面的问题,删除掉错误的环境变量即可,由于图形化界面无法登录,所以在登录界面按下ctrl+alt+F3(其他系统可能为F1~6中的)进入命令行形式,输入用户名密码即可登录进入,不过这个时候ls vim等命令都无法直接使用,因为环境变量错误了,所以需要使用绝对路径才行,比如ls的使用需要/bin/ls,vi的使用为/usr/bin/vim,然后使用vim修改错误的环境变量,然后重新登录即可。ctrl+alt+f1返回图形化界面。

参考链接:

http://www.linuxidc.com/Linux/2015-01/111459.htm

http://soft.chinabyte.com/os/169/11412169.shtml

http://www.linuxidc.com/Linux/2015-02/113488.htm

评论

0条评论

发表评论

邮箱地址不会被公开。