Linux中环境变量/etc/profile ~/.bashrc 和 ~/.bash_profile 和 /etc/bashrc 的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中环境变量/etc/profile ~/.bashrc 和 ~/.bash_profile 和 /etc/bashrc 的区别相关的知识,希望对你有一定的参考价值。
这个一定要理解登录式shell和非登录式shell的区别,前者是完全切换用户,后者是不完全,就算切换过来了,你pwd时家目录还是之前的家目录,所以
登录式顺序为:/etc/bashrc---/etc/profile.d/*.sh----~/.bash_profile---~/.bashrc_profile----~/.bashrc-----/etc/bashrc
非登录式:~/.bashrc-----/etc/bashrc-/etc/profile.d/*.sh
/etc/profile:
该文件登录操作系统时,为每个用户设置环境信息,当用户第一次登录时,该文件被执行。也就是说这个文件对当前每个shell都有效,如果此时su 其他用户没有- ,则切过去的用户无法使用你alias的别名,应为是他是登陆时就产生的,用于获取系统的环境信息。/etc/bashrc:为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。也就是说,当用户shell执行了bash时,就运行这个文件,无论你su切换其他用户加-还是不加-alias都有效。
3、`/.bashrc该文件存储的是专属于个人bash shell的信息,当登录时以及每次打开一个新的shell时,执行这个文件。在这个文件里可以自定义用户专属的个人信息。
顶
2
踩
本文出自 “大鸟地带-点滴积累” 博客,请务必保留此出处http://09112012.blog.51cto.com/4813132/1926862
以上是关于Linux中环境变量/etc/profile ~/.bashrc 和 ~/.bash_profile 和 /etc/bashrc 的区别的主要内容,如果未能解决你的问题,请参考以下文章
Linux 环境下/etc/profile和/etc/profile.d 的区别