前言
昨天晚上在kali(基于Linux的Debian)上折腾Android源码的时候需要将一些路径加入环境变量,不过貌似配置错了,然后进入了输入用户名、密码然后黑屏返回登录界面需要重新输入用户名、密码的死循环,搜索一番原来是环境变量配置错误导致的,所以这里记录下来便于以后查找顺便分享给大家。
查看环境变量
1、查看所有环境变量
在命令行中输入env即可查看所有的环境变量,使用键值对的形式,环境变量之间使用:号隔开的。Demo如下
xjh@iZ28frtqxrrZ:~$ env USER=xjh MAIL=/var/mail/xjh PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games PWD=/home/xjh LANG=en_US.UTF-8 SHLVL=1 HOME=/home/xjh LANGUAGE=en_US: LOGNAME=xjh
2、查看指定的环境变量
想要查看指定的环境变量使用echo ${环境变量名}即可查看(这里类似shell脚本使用已经定义的变量)
比如查看PATH指向的环境变量就是echo ${PATH} 或者echo $PATH。Demo如下
xjh@iZ28frtqxrrZ:~$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
几个设置环境变量的位置
/etc/profile: 此文件为系统的每个用户设置环境信息。当任何用户登录时,该文件被执行一次。
~/.bash_profile 或 ~/.profile(不同版本Linux不同): 只对单个用户生效,当用户登录时该文件仅执行一次。
~/.bashrc: 只对单个用户生效,对单个用户生效,当用户登录以及每次打开新的 shell 时,该文件被执行。
设置环境变量
1、设置全局环境变量
全局的环境变量在/etc/profile文件中进行修改(修改该文件需要root权限)。在此文件中新增的环境变量所有用户都会生效。我们仅仅需要在文件末尾写入环境变量即可。
写入新环境变量如下所示,这样我们就有一个名为JAVA_HOME的环境变量了。
export JAVA_HOME=/usr/lib/java_jdk/jdk1.8.0_65
往已有的环境变量中添加一个新路径(路径之间使用:号隔开),Demo如下。这样我们就将${JAVA_HOME}/bin这个环境变量指向的路径添加到PATH中了。
export PATH=${JAVA_HOME}/bin:$PATH
PS:要想修改生效,需要使用source /etc/profile命令,或者重新登录此用户即可
2、设置单个用户有效的环境变量
设置单个用户有效的环境变量需要修改~/.bashrc文件。修改规则与上面介绍的一样。
PS:要想修改生效,需要使用source ~/.bashrc命令,或者重新登录此用户即可
~代表用户目录.bashrc中的.说明是隐藏文件,使用ls -a可以看到这个文件,如下,我们cd ~然后打印当前路径为/home/用户名/
xjh@iZ28frtqxrrZ:~$ cd ~ xjh@iZ28frtqxrrZ:~$ pwd /home/xjh xjh@iZ28frtqxrrZ:~$ ls -al total 64 drwxr-xr-x 5 xjh xjh 4096 Jul 20 09:59 . drwxr-xr-x 6 root root 4096 Jul 13 10:54 .. -rw------- 1 xjh xjh 7258 Jul 20 09:59 .bash_history -rw-r--r-- 1 xjh xjh 220 Feb 17 15:55 .bash_logout -rw-r--r-- 1 xjh xjh 3637 Jul 20 09:57 .bashrc drwx------ 2 xjh xjh 4096 Feb 17 15:56 .cache -rw-r--r-- 1 xjh xjh 675 Feb 17 15:55 .profile
3、设置当前shell有效的环境变量
当前shell有效是指关闭或者注销shell以后,下次重新进去就失效了。我们直接使用export命令即可。比如下面就创建了一个名为tempenv的环境变量,指向/home/xjh目录。
xjh@iZ28frtqxrrZ:~$ export tempenv=~/ xjh@iZ28frtqxrrZ:~$ echo $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