Linux中环境变量的使用方法相同的生存周期来划分
序言:
1.环境变量是操作系统环境设置的变量,适用于整个系统的用户进程;
2.环境变量可以在命令中设置,并且用户注销的时侯将会遗失这种设置值;
3.若要重复适用,则最好在.profile中定义;环境变量的使用与本地变量的使用方式相同,
4.并且在使用之前,必须用export命令导入。
一、环境变量文件介绍
Linux中环境变量包括系统级和用户级,系统级的环境变量是每位登陆到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量,所以管理环境变量的文件也分为系统级和用户级的。
二、Linux的变量种类
按变量的生存周期来界定,Linux变量可分为两类:
1.永久的:须要更改配置文件,变量永久生效
2.临时的:使用export命令申明即可,变量在关掉shell时失效
三、Linux环境变量文件
linux变量文件有/etc/environment或/etc/profile或~/.profile或/etc/bash.bashrc或~/.bashrc,以及~/.bash_profile(通常是用户在自己目录下新建的),~/.bash_logout.
系统级:
1./etc/environment:是系统在登陆时读取的第一个文件,该文件设置的是整个系统的环境,只要启动系统才会读取该文件redhat linux下载,用于为所有进程设置环境变量。系统使用此文件时并不是执行此文件中的命令,而是按照而是按照KEY=VALUE模式的代码,对KEY形参以VALUE,因而文件中假如要定义PATH环境变量,只需加入一行形如PATH=$PATH:/xxx/bin的代码即可
2./etc/profile:此文件是系统登陆时执行的第二个文件。为系统的每位用户设置环境信息,当用户第一次登陆时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置。(/etc/profile可以用于设定针对全系统所有用户的环境变量,环境变量周期是永久性)
3./etc/bashrc:是针对所有用户的bash初始化文件,在此中设定的环境变量将应用于所有用户的shell中,此文件会在用户每次打开shell时执行一次。(即每次新开一个终端,就会执行/etc/bashrc)。
用户级(这种文件处于家目录下):
1.~/.profile:对应当前登入用户的profile文件,用于订制当前用户的个人工作环境(变量是永久性),每位用户都可使用该文件输入专用于自己使用的shell信息,当用户登入时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。这儿是推荐放置个人设置的地方
2.~/.bashrc:该文件包含专用于你的bashshell的bash信息,当登陆时以及每次打开新的shell时,该文件被读取。(~/.bashrc只针对当前用户,变量的生命周期是永久的)
不推荐放在这里,由于每开一个shell,这个文件会读取一次在linux系统,默认的shell是什么,效率肯定有影响。
3.~/.bash_profileor~./bash_login:~/.bash_profile是交互式login形式步入bash运行的,~/.bashrc是交互式non-login形式步入bash运行的一般两者设置大致相同,所以一般后者会调用前者。每位用户都可使用该文件输入专用于自己使用的shell信息,当用户登入时,该文件仅仅执行一次。默认情况下,他设置一些环境变量,执行用户的.bashrc文件。(假如~/目录下没有.bash_profile则新构建一个)这儿是推荐放置个人设置的地方
当一个shell关掉时,在bash_profile中定义的系统变量则会失效。为此,每打开一个新的shell时都要运行一次sourcebash_profile.并且针对当前用户。
4.~/.pam_environment:用户级的环境变量设置文件,没有做测试,不晓得管不管用。
5.~/.bash_logout:当每次退出系统(退出bashshell)时,执行该文件。另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能承继/etc/profile中的变量,她们是"母子"关系。
四、Linux环境变量文件执行次序
1.在登陆Linux时要执行文件的过程如下:
在刚登陆Linux时在linux系统,默认的shell是什么,
首先启动/etc/profile文件,
之后再启动用户目录下的~/.bash_profile、~/.bash_login或~/.profile文件中的其中一个,用房主目录下文件的执行的次序为:
~/.bash_profile->~/.bash_login->~/.profile。
假如~/.bash_profile文件存在的话,通常都会执行~/.bashrc文件。
由于在~/.bash_profile文件中通常会有下边的代码:
if [ -f ~/.bashrc ] ; then . ./bashrc fi
~/.bashrc中,通常都会有以下代码:
if [ -f /etc/bashrc ] ; then . /etc/bashrc fi
所以,~/.bashrc会调用/etc/bashrc文件。最后,在退出shell时,就会执行~/.bash_logout文件。
执行次序为:/etc/profile->(~/.bash_profile|~/.bash_login|~/.profile)->~/.bashrc->/etc/bashrc->~/.bash_logout
/etc/profile和/etc/environment等各类环境变量设置文件的好处
1)先将exportLANG=zh_CN加入/etc/profile,退出系统重新登陆,登陆提示显示中文。
2)先将/etc/profile中的exportLANG=zh_CN删掉,将LNAG=zh_CN加入/etc/environment,退出系统重新登陆,登陆提示显示英文。
用户环境完善的过程中总是先执行/etc/profile,之后再读取/etc/environment。
为何会有如上所叙的不同呢?而不是先执行/etc/environment,后执行/etc/profile呢?
这是由于:/etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,后者与登入用户无关,前者与登入用户有关。
系统应用程序的执行与用户环境可以是无关的,但与系统环境是相关的,所以当你登入时,你看见的提示信息,如日期、时间信息的显示格式与系统环境的LANG是相关的,缺省LANG=en_US,假若系统环境LANG=zh_CN,则提示信息是英文的,否则是英语的。
对于用户的shell初始化而言是先执行/etc/profile中标麒麟linux,再读取文件/etc/environment;对整个系统而言是先执行/etc/environment。这样理解正确吗?
登录系统时的次序应当是:
/etc/enviroment-->/etc/profile-->HOME/.profile−−>HOME/.env(假如存在)
/etc/profile是所有用户的环境变量
/etc/enviroment是系统的环境变量
登录系统时shell读取的次序应当是:
/etc/profile->/etc/enviroment-->HOME/.profile−−>HOME/.env
缘由应当是用户环境和系统环境的区别了,若果同一个变量在用户环境(/etc/profile)和系统环境(/etc/environment)有不同的值,那应当是以用户环境为准了。
五、Linux中常见的环境变量及其作用
Linux中常见的环境变量有:
1.PATH:指定命令的搜索路径
2.HOME:指定用户的主工作目录(即用户登录到Linux系统中时,默认的目录)
3.HISTSIZE:指保存历史命令记录的条数。
4.LOGNAME:指当前用户的登陆名。
5.HOSTNAME:指主机的名称,许多应用程序假如要用到主机名的话,一般是从这个环境变量中来取得的。
6.SHELL:指当前用户用的是哪种Shell。
7.LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以更改此环境变量。
8.MAIL:指当前用户的电邮储存目录。
9.PS1:命令基本提示符,对于root用户是#,对于普通用户是$。
10.PS2:附属提示符,默认是“>”。
备注:可以通过更改此环境变量来更改当前的命令符,例如下述命令会将提示符更改成字符串“Hello,MyNewPrompt”。
#PS1="Hello,MyNewPrompt"
注意:上述变量的名子并不固定,如HOSTNAME在个别Linux系统中可能设置成HOST
其实,我所列出的上述环境变量并非用尽列举!
Linux也提供了更改和查看环境变量的命令!下边通过几个实例来说明:
1.echo显示某个环境变量值echo$PATH
2.export设置一个新的环境变量exportHELLO="hello"(可以无顿号),在shell的命令行下直接使用[export变量名=变量值]定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关掉了,变量也就失效了,再打开新shell时就没有这个变量,须要使用的话还须要重新定义。
3.env显示所有环境变量
4.set显示本地定义(系统中早已存在)的shell变量以及设置shell变量的新变量值,倘若未指定值,则该变量值将被设为NULL。
5.unset清理环境变量unsetHELLO
6.readonly设置只读环境变量readonlyHELLO,假如使用了readonly命令的话,变量就不可以被更改或清不仅
以上是Linux中环境变量的使用方法相同的生存周期来划分的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

VS Code 系统要求:操作系统:Windows 10 及以上、macOS 10.12 及以上、Linux 发行版处理器:最低 1.6 GHz,推荐 2.0 GHz 及以上内存:最低 512 MB,推荐 4 GB 及以上存储空间:最低 250 MB,推荐 1 GB 及以上其他要求:稳定网络连接,Xorg/Wayland(Linux)

VS Code扩展安装失败的原因可能包括:网络不稳定、权限不足、系统兼容性问题、VS Code版本过旧、杀毒软件或防火墙干扰。通过检查网络连接、权限、日志文件、更新VS Code、禁用安全软件以及重启VS Code或计算机,可以逐步排查和解决问题。

虽然 Notepad 无法直接运行 Java 代码,但可以通过借助其他工具实现:使用命令行编译器 (javac) 编译代码,生成字节码文件 (filename.class)。使用 Java 解释器 (java) 解释字节码,执行代码并输出结果。

Linux系统的五个基本组件是:1.内核,2.系统库,3.系统实用程序,4.图形用户界面,5.应用程序。内核管理硬件资源,系统库提供预编译函数,系统实用程序用于系统管理,GUI提供可视化交互,应用程序利用这些组件实现功能。

Visual Studio Code (VSCode) 是一款跨平台、开源且免费的代码编辑器,由微软开发。它以轻量、可扩展性和对众多编程语言的支持而著称。要安装 VSCode,请访问官方网站下载并运行安装程序。使用 VSCode 时,可以创建新项目、编辑代码、调试代码、导航项目、扩展 VSCode 和管理设置。VSCode 适用于 Windows、macOS 和 Linux,支持多种编程语言,并通过 Marketplace 提供各种扩展。它的优势包括轻量、可扩展性、广泛的语言支持、丰富的功能和版

VS Code 可以在 Mac 上使用。它具有强大的扩展功能、Git 集成、终端和调试器,同时还提供了丰富的设置选项。但是,对于特别大型项目或专业性较强的开发,VS Code 可能会有性能或功能限制。

要查看 Git 仓库地址,请执行以下步骤:1. 打开命令行并导航到仓库目录;2. 运行 "git remote -v" 命令;3. 查看输出中的仓库名称及其相应的地址。

VS Code 全称 Visual Studio Code,是一个由微软开发的免费开源跨平台代码编辑器和开发环境。它支持广泛的编程语言,提供语法高亮、代码自动补全、代码片段和智能提示等功能以提高开发效率。通过丰富的扩展生态系统,用户可以针对特定需求和语言添加扩展程序,例如调试器、代码格式化工具和 Git 集成。VS Code 还包含直观的调试器,有助于快速查找和解决代码中的 bug。
