程序(操作系统命令或应用程序)的执行需要参数,如果多个程序需要同一个参数,则应该把该参数设置为环境变量。
此电脑右键属性,选择高级系统设置,然后点击下面按钮
一、查看环境变量
(1)env命令
在shell下,用env命令查看当前用户全部的环境变量。
- env
- env|less
- env|grep LANG
(2)echo命令(查看环境变量的值)
echo $环境变量名
二、常用的环境变量
(1)LANG
Linux系统的语言、地区、字符集,缺省的中文字符zh_CN.UTF-8,是主流
如果出现乱码,连接工具与Linux系统的字符集不一致,百度解决。
(2)SHELL
用户当前使用的shell(命令解析器,百度百科,了解基本概念即可)
(3)HOSTNAME
服务器的主机名
(4)HISTSIZE
保存历史命令的数目
(5)USER
当前登录用户的用户名
(6)HOME
当前登录用户的主目录
(7)PWD
当前工作目录
(8)PATH
可执行程序的搜索目录,可执行程序包括Linux系统命令和用户的应用程序。
(9)LD_LIBRARY_PAYH
C/C++语言的动态链接库文件搜索的目录,它不是Linux缺省的环境变量,但对C/C++程序员来说非常重要。
(10)CLASSPATH
JAVA语言的库文件搜索的目录,它也不是Linux缺省的环境变量,但对JAVA程序员来说非常重要。
三、设置环境变量
变量名='值'
export 变量名
或
export 变量名='值’(推荐这个)
如果环境变量的值没有空格等特殊符号,可以不用单引号包含。
环境变量在退出shell后就会失效,下次登陆时需要重新设置,如果希望环境变量永久生效,需要在脚本文件中配置。
设置PATH环境变量要注意:
export PATH=$PATH:新增的目录 1:新增的目录 2:新增的目录 n
(1)$PATH表示包含原有PATH的值;
(2)目录之间用:分隔;
(3).表示当前目录。
把当前目录添加到环境变量中:export PATH=&PATH:.
这样在任何目录中都可以执行当前目录下的程序
四、设置系统环境变量
系统环境变量对全部的用户生效,设置系统环境变量有三种方法。
(1)在/etc/profile.d目录中增加环境变量脚本文件,这是Linux推荐的方法。
/etc/profile在每次启动时会执行/etc/profile.d下全部的脚本文件。/etc/profile.d比/etc/profile好维护,不想要什么变量直接删除/etc/profild.d下对应的shell脚本即可。
(2)在/etc/profile文件中设置
用户登陆时执行/etc/profile文件中设置系统的环境变量。但是,Linux不建议在/etc/profile文件中设置系统环境变量。
/etc/profile.d比/etc/profile好维护,不想要什么变量直接删除/etc/profile.d下对应的shell脚本即可
(3)在/etc/bashrc文件中设置环境变量
该文件配置的环境变量将会影响全部用户。但是,Linux也不建议在/etc/bashrc文件中设置系统环境变量
五、设置用户环境变量
用户环境变量只对当前用户生效,设置用户环境变量也有多种方法。
在用户的主目录,有几个隐藏特别的文件,用ls -l .bash*可以看见
(1).bash_profile(推荐首选)
当用户登录时执行,每个用户都可以使用该文件来配置专属于自己的环境变量。
(2).bashrc
当用户登录时以及每次打开新的shell时该文件都将被读取,不推荐在里面配置用户专用的环境变量,因为每开一个shell,该文件都会被读取一次,效率肯定受影响。
(3).bash_logout
当每次退出shell时执行该脚本文件
(4).bash_history
保存了当前用户使用过的历史命令
六、su命令与环境变量
执行su命令时,会保留当前用户的环境变量,不会加载被切换到的用户的环境变量。 这可能会导致权限不足的情况,因为切换后用户可能无法访问某些文件或目录。