这个必定要理解登陆式shell和非登陆式shell的区别,前者是彻底切换用户,后者是不彻底,就算切换过来了,你pwd时家目录仍是以前的家目录,因此shell
登陆式顺序为:/etc/bashrc---/etc/profile.d/*.sh----~/.bash_profile---~/.bashrc_profile----~/.bashrc-----/etc/bashrcapi
非登陆式:~/.bashrc-----/etc/bashrc-/etc/profile.d/*.shbash
/etc/profile:
该文件登陆操做系统时,为每一个用户设置环境信息,当用户第一次登陆时,该文件被执行。也就是说这个文件对当前每一个shell都有效,若是此时su 其余用户没有- ,则切过去的用户没法使用你alias的别名,应为是他是登录时就产生的,用于获取系统的环境信息。 微信
/etc/bashrc:为每个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。也就是说,当用户shell执行了bash时,就运行这个文件,不管你su切换其余用户加-仍是不加-alias都有效。ide
三、`/.bashrc该文件存储的是专属于我的bash shell的信息,当登陆时以及每次打开一个新的shell时,执行这个文件。在这个文件里能够自定义用户专属的我的信息。url
顶spa
2操作系统
踩.net