在登录Linux时要执行文件的过程如下:
在刚登录Linux时,首先启动
/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
. /bashrc
fi
所以,~/.bashrc会调用
/etc/bashrc文件。最后,在退出shell时,还会执行 ~/.bash_logout文件。
执行顺序为:/etc
/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) ->
~/.bashrc -> /etc/bashrc -> ~/.bash_logout
#################################################################
1.登录shell
所谓登录shell,指的是当用户登录系统时所取的那个 shell。登录shell属于交互式shell。
登录shell将查找4个不同的启动文件来处理其中的命令。 bash shell处理文件的顺序如下:
1:
/etc/profile
2:/etc/profile.d等待配置文件
3: $HOME/.bash_profile
4: $HOME/.bash_login
5$HOME/.profile
/etc /profile是bash shell在系统上的主默认启动文 件,系统上 每一个用户在登陆时都将执行此文件。
通过设置这个文件,
超级用户可以为全系统内的所有bash用户建立默
认特征。不同 Linux版本在此文件放置的命令不尽相同,
在redflag中,该文件设置了几个重要的变
量,
如:PATH USER LOGNAME
MAIL HOSTNAME HISTSIZE INPUTRC,详情可以查看具体的文件。
其余3个文件具备相同的功能——提供特定于用户的启动文件。大多
数Linux版本只使用其中之一。如:RedFlag使用.bash_profile ubuntu使用.profile .
shell
依次查找~/.bash_profile、
~/.bash_login、
~/.profile(~是用户主目录的速记
符),
并执行它找到的首个文件中的命令。
可以将命令放置在这些文件中以覆盖掉/etc
/profile文件中的默认设置。
也就是后面的文件可以覆盖或者修改前面的设置
。
2. 交互式非登录shell
如果启动
了一个bash shell而没有等录系统(如在CLI提示符中键入bash),
则启动了一个交互式非登录shell.
而登录shell的初始化文件(比如.bash_profile)通常会运行这个文件。这样,
登录shell和非登录shell都可以使用.bashrc中的命令。
如以X
Window环境登录Linux时,在X环境所起动的终端,那些shell都是非登录shell.
在交互式非登录shell中并不执行前面提到
的初始化文件中的命令。然而,交互式非登录shell从登录shell继承了由这些初始化文件设置的 shell变量。
(1)
$HOME/.bashrc
交互式非登录shell执
行~/.bashrc文件中的命令.在每次执行shell脚本时,都会重新读取这个文件,所以是最完整的。
但是万事都不是一样的,debain系列
的是不同的,如ubuntu
/etc/profile-->/etc/environment-->$HOME/.profile
Ubuntu Linux系统环境变量配置文件介绍在Ubuntu中有如下几个文件可以设置环境变量
/etc/profile:在登录时,操作系
统定制用户环境时使用的第一个文件
,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
/etc
/environment:在登录时操作系统使用的第二个文件,
系统在读取你自己的profile前,设置环境文件的环境变量。
~/.profile:
在登录时用到的第三个文件
是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认
情况下,他设置一些环境变量,执行用户的.bashrc文件。
/etc/bashrc:为每一个运行bash
shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bashrc:该文件包含专用于你的bash
shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
相关推荐
unity开发使用的插件,环境开发插件,可以选择晴天,多云、雨天、雾天、雪天、暴风雨等多种天气,可以自定义时间段或者根据系统时间,可以搭配需求自由切换,上手很简单
本文实例讲述了python访问系统环境变量的方法。分享给大家供大家参考。具体如下: #-------------------------------- # Name: enviroment_variables.py # Author: Kevin Harris # Last Modified: 02/13/04 # ...
为您的软件包准备一个目录,例如: /var/packages/Java11编辑/etc/profile以JAVA_HOME properly更新JAVA_HOME properly #PATH=$PATH:/var/packages/Java8/target/j2sdk-image/bin # Synology Java runtime ...
BackupAwsS3 将s3文件夹备份到另一个s3 安装 $ gem install backup_aws_s3 ...在/ etc / enviroment中创建环境变量 export S3_BUCKET_BACKUP="xxxxxxxxxxx" export S3_ACCESS_KEY_ID="xxxxxxxxxxx" export S3_SE
Laravel开发-local-enviroment 用于创建本地环境的Laravel包。
Use Node.js as a full cloud enviroment development stack
build_enviroment.tar.xz
NULL 博文链接:https://jbeduhai.iteye.com/blog/1746837
advance programming in unix enviroment 2e and its code
jdk1.5-the enviroment of java developing
react-multi-clamp Simple, efficient and easy-to-use multiline text clamp react component....Supports IE9+ / Android4.4+ / etc. ES5 enviroment. 支持PC/移动设备所有兼容ES5环境的浏览器。 Installation You
以RedHat系统为例,如果要使能TFTP服务,编辑文件/etc/xinetd.d/tftp,移除这一行: disable = yes 或者注释掉它,或者修改disable = no 此外,确保/tftpboot目录存在,而且有访问权限(至少应该"dr-xr-xr-x")。 5....
一个国外公司开发的金融交易系统开源项目,java语言,纯英文环境
商务智能教学课件:I Operational Data Enviroment and Assignment 1.ppt
enviroment of cuda10.0 export CUDA_HOME=/usr/local/cuda export PATH=$PATH:$CUDA_HOME/bin export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} export CUDA_HOME=/...
It is a book related to building energy design
一套完整的OpenGL工程,免去了自己去编译各个库的麻烦。下载解压即用。自己亲自封装,基于vs2019。包含的库有assimp.lib,glew32s.lib,glfw3.lib,SOIL.lib。下
Vmware 环境下构造Suse Linux 讲义
集成了温湿度传感器、气压传感器、光敏传感器的采样。
RHEL-4.3环境下(当然也可用于其它红帽系统,如Fedora)创建无盘工作站的方法,虽然是英文的,但是还看得懂。