Linux中profile与bashrc的作用
文章同步发表在博主网站朗度云,传输门:http://www.wolfbe.com/detail/201608/278.html
login shell;
non-login shell;
interactive shell;
non-interactive shell;(非交互式,如执行shell脚本)
- 登录系统时,获得的是一种交互式的login shell;
- 在终端下使用--login参数调用bash时,获得的是交互式的login shell,如果不加--login参数,则获得的是交互式的non-login shell;
- 在脚本中使用--login选项调用bash时,获得的是非交互式的login shell(如#! /bin/bash),如果不加--login选项,则获得的是非交互式的non-login shell;
- 使用su -切换用户时,获得的是交互式的login shell,如果不加"-"获得的是交互式的non-login shell。
- 交互式login shell启动时首先读取/etc/profile文件信息,一般会在/etc/profile加载/etc/bashrc文件,然后依次查找~/.bash_profile、~/.bash_login、~/.profile配置文件,并且读取找到的第一个且可读的文件,最后再读取~/.bashrc文件;login shell在退出时会读取~/.bash_logout文件;
- 交互式non-login shell启动时首先读取/etc/bashrc文件,然后读取~/.bashrc文件;
- 非交互式login shell启动时首先读取/etc/profile文件信息,但不会加载/etc/bashrc文件,然后依次查找~/.bash_profile、~/.bash_login、~/.profile配置文件,并且读取找到的第一个且可读的文件,但也不会再加载~/.bashrc文件;login shell在退出时会读取~/.bash_logout文件;
- 非交互式non-login shell启动时不会读取上面的配置文件,而是找到环境变量BASH_ENV,并且读取BASH_ENV中指定的文件的命令;
#/etc/profile
echo "invoke /etc/profile" #/etc/bash.bashrc
echo "invoke /etc/bash.bashrc" #~/.bashrc
echo "invoke .bashrc" #~/.profile
echo "invoke .profile" #~/.bash_logout
echo "invoke bash_logout"
#! /bin/bash --login
echo "invoke login.sh" #! /bin/bash
echo "invoke nologin.sh" #! /bin/bash
echo "invoke bash_env.sh" #.profile后加入BASH_ENV
export BASH_ENV=/home/wolfbe/bash_env.sh #立即生效
source ./.profile
$bash --login invoke /etc/bash.bashrc
invoke /etc/profile
invoke .bashrc
invoke .profile $exit logout
invoke bash_logout
$bash invoke /etc/bash.bashrc
invoke .bashrc $exit exit
$./login.sh invoke /etc/profile
invoke .profile
invoke login.sh
$./nologin.sh invoke bash_env.sh
invoke nologin.sh
Linux中profile与bashrc的作用的更多相关文章
- Linux中profile、bashrc、bash_profile之间的区别和联系
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置. 英文描述为: # /etc/pr ...
- (转) Linux中profile、bashrc、bash_profile之间的区别和联系
原文地址:http://blog.csdn.net/chenchong08/article/details/7833242 /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登 ...
- 【转载】Linux中profile、bashrc、bash_profile之间的区别和联系
如果你想对所有的使用bash的用户修改某个配置并在以后打开的bash都生效的话可以修改这个文件,修改这个文件不用重启,重新打开一个bash即可生效.~/.bash_profile:每个用户都可使用该文 ...
- 【转】Linux中profile、bashrc、bash_profile之间的区别和联系
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登陆时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置. 英文描述为: # /etc/pr ...
- Linux中profile和bashrc的区别
profile主要设置系统环境参数(可类比为Windows的系统环境变量),如$PATH /etc/profile ~/.bash_profile bashrc主要用来设置bash命令,如命令别名,a ...
- Linux中PATH环境变量的作用和使用方法
关于PATH的作用:PATH说简单点就是一个字符串变量,当输入命令的时候LINUX会去查找PATH里面记录的路径.比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,但其实ls这个命令根 ...
- linux关于profile 、bashrc 、.bash_profile、.bashrc的区别
linux关于profile .bashrc ..bash_profile..bashrc的区别 - /etc/profile /etc/bashrc ~/.bash_profile ~/.bashr ...
- linux中test与[ ]指令的作用
linux中test与[ ]指令的作用: 在Linux中,test和[ ]功能是一样的,类似于c语言中的( ).不过Linux的test和[ ]是指令.在和if或者while联用时要用空格分开.
- Linux中的Wheel组的作用
原文:http://www.360doc.com/content/11/0505/10/4644186_114496525.shtml Linux中的Wheel组的作用(用自己的话翻译的) (原文) ...
随机推荐
- 主流手持设备GPU性能比较
设备 GPU CPU 每秒像素填充率 每秒三角形生成 内存 iPhone4 PowerVR SGX 535 ARM Cortex-A8 800M 512M iPod touch 4 Power ...
- Golang学习 - unsafe 包
------------------------------------------------------------ 指针类型: *类型:普通指针,用于传递对象地址,不能进行指针运算. unsaf ...
- mysql官方示例数据库
employees数据库:http://ari.iteye.com/blog/1066690 https://launchpad.net/test-db/employees-db-1/1.0.6
- servlet 和filter 抛出404等异常
1. servlet抛出错误代码异常,如404 public void doGet(HttpServletRequest request, HttpServletResponse response) ...
- 添加IFrame导致内存溢出的解决过程(IE浏览器,目前发现了原因,还未解决)
1. 现象 每次动态添加iframe时,iexplore.exe进程占据的内存都会增加(大概10M左右),不会自动释放,最终导致内存溢出 2. 解决过程 经过网络的一番搜索,基本上给出的解决方案是 ...
- Tika
1.解析图片 @Test public void test1Image() throws IOException, SAXException, TikaException{ String filePa ...
- FVDI Commander products be replaced SVDI tools,really?
You may have heard that some FVDI Commander products are being replaced by the new SVDI tools. This ...
- [Windows] 解决kmplayer播放rmvb文件音视不同步
1. 到該帖子 http://www.kmplayer.com/forums/showthread.php?t=8755 下載附件中的4個檔案放到KMP 根 目錄下(此文件已在附件中上传) 2.於KM ...
- jQery简单Tab选项卡效果
简单的Tab效果 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...
- iOS 画图讲解
5.画图 (1)画线 //绘图代码写在drawRect里,view加载完成,需要显示的时候调用 //1.获取图形上下文 2.创建路径 3.把图形放入上下文 4.渲染上下文 //drawRect的rec ...