在Windows系统中,我们通常需要设置环境变量,尤其是在安装Java JDK之后。在Linux中,需要设置某些环境变量,例如路径(执行文件的路径),http_proxy(HTTP代理)等。本文主要介绍三种类型的环境变量 – 临时变量,用户变量,用户变量和系统变量,并对其运动进行了一些验证。
介绍
环境变量[1]通常是指操作系统中用于指定操作系统操作环境的某些参数,例如:临时文件夹位置和系统文件夹位置等。等于为系统或用户应用程序设置一些参数。这项工作到底与特定环境变量有关。
在Windows系统中,您经常遇到设置环境变量[2]的问题,尤其是在安装Java JDK之后。我们很少执行命令集路径=%路径%; d: jdk bin在黑暗命令行窗口中,因为以这种方式设置的变量设置为临时环境变量,只能在此命令窗口中识别。我们知道java命令在d: jdk bin目录中,但是当重新打开命令窗口(shell shell)时,将无法识别新窗口。也就是说,该路径仅对执行该命令的外壳有效。还有另外两种设置用户变量或系统变量的方法。两者之间的区别在于,系统变量对所有用户都是有效的,而用户变量仅对当前用户有效。测试后,它们都没有在Win8系统中重新启动的情况下工作。
Linux环境变量设置
实际上,Linux中环境变量的设置是Windows共有的。也有三种方式
•临时变量
在外壳中执行命令路径= $ path':/home/hjy/hjy/jdk/bin'。同样,Java命令只能在当前窗口中识别。重新打开外壳爪哇命令将无效。
•用户变量
Linux中用户变量的设置为两个文件,一个是/etc/profile,另一个是/.。配置文件表示配置,这是用户用来设置环境变量的唯一位置。对于不同的用户习惯,请使用不同的外壳(例如bash,sh,zsh等),并为不同功能或不同应用程序加载不同的环境变量文件。
•系统变量
Linux中系统变量的设置在 /etc /环境文件中。此环境变量的设置不需要导出,只需直接分配值即可。
验证范围
Yizhi临时变量的范围仅在当前端子中,并且当前端子将无效。至于用户变量和系统变量,我们在这里进行了两个小实验,其中一个是在线[3]。关键是它在解释中既有问题又负面,我不明白作者的含义,所以我会在这里自己验证它。
图形接口登录
经过实验,发现我的计算机环境与在线博客作者的环境有所不同。局部环境设置的主要区别[4]。安装了中文和英语包装后,该系统的本地语言环境如图所示:
但是,从lang,lc_all和语言环境变量之间的差异中,在此博客文章的设置中 – 语言环境[5],lc_all> lc_*>> lang,因此在该计算机上配置Lang将被LC_*替换为LC_*,从而导致英语环境无论如何设置。因此,实际实验是设置LC_ALL变量。
•测试步骤
1。添加导出lc_all = zh_cn.utf-8 to /etc /profile,登录系统并再次登录,登录接口和语言环境变量如下:
2。删除导出lc_all = zh_cn.utf-8 in /etc /profile,将其添加到 /etc /envirionment,登录系统并再次登录,并且登录接口和语言层变量如下:
•结论:登录到接口(尚未登录系统)时,系统执行 /etc /环境,仅此而已。但是,不可能得出关于是否执行 /etc /profile的结论,哪一个是在这两个文件之后出现的。此问题将在稍后讨论。
结论:用户登录系统之前,他才进入登录接口。目前, /etc /环境已执行。
登录后,用户进入外壳
•测试步骤
1。将以下变量添加到 /etc /profile文件:
export eprofile='I am in /etc/profile'
export epro_env='I am in /etc/profile'
export epro_pro='I am in /etc/profile'
2。将以下变量添加到 /etc /环境文件:
environment='I am in /etc/environment'
epro_env='I am in /etc/environment'
env_pro='I am in /etc/environment'
3。将以下变量添加到〜/.. profile文件:
export profile='I am in ~/.profile'
export epro_pro='I am in ~/.profile'
export env_pro='I am in ~/.profile'
4。重新启动系统后,检查五个变量的值:配置文件,环境,homepro,pro_env,pro_env_pro。结果如下图所示:
•综上所述:
1。所有三个环境配置文件均已执行
可变环境,电子框,配置文件具有值
2./etc/environment优先/etc/个人资料
可变epro_env是 /etc /profile中的值。结合第一个结论,我们可以发现 /etc /环境优先于 /etc /profile
3./etc/profile优先于〜/.profile
可变epro_pro是〜/.profile中的值。结合第一个结论,您可以发现/etc/profile优先〜/.profile
结论:用户登录系统并打开外壳后,/etc/etcronivers的执行顺序,/etc/profile和〜/.profile is:/etc/evourction =>/etc/etc/profile =>〜/.profile
问题讨论:在第一次试验中,只能得出结论,登录接口之前将执行 /etc /环境,但是不可能得出结论 /etc /profile是否是执行,谁是第一个文件,谁是谁来的。从两个登录接口中,发现在 /etc /环境中的LC_ALL设置工作,但是 /etc /profile中的非函数可能被后者覆盖,或者可能无法执行文件。至于稍后的区域变量的比较,我们在登录系统后打开外壳后看到了它。因此,不可能在登录界面之前确定 /etc /profile是否是执行的,更不用说谁先来了,谁来来了。个人趋势的解释是,在执行登录接口,仅执行 /etc /环境之前, /etc /profile将不会执行。只有输入用户和密码后,才会以登录模式输入系统。仅执行/etc/profile和〜/.profile。参考
1。环境变量定义[6]
2。如何设置或更改路径系统变量[7]
3。etc/profile和/etc/环境之间的比较[8]
4。局部环境变量lang,lc_all和语言之间的差异[9]
5.Wiki Locale [10]
参考
[1]环境变量:
[2]设置环境变量:
[3]在线:
[4]局部环境设置的差异:%e4%bf%AE%E6%94%B9locale
[5] Lang,LC_ALL和语言环境变量之间的区别:
[6]环境变量定义:
[7]如何设置或更改路径系统变量:
[8] ETC/profile和/etc/环境之间的比较:
[9]本地化环境变量lang,lc_all和语言之间的差异:
[10] Wiki语言环境:%E4%BF%AE%E6%94%B9Locale
本网站每日更新互联网创业教程,一年会员只需98,全站资源免费下载点击查看会员权益