14735472_14028883441bDJ.png   


   这个一定要理解登录式shell和非登录式shell的区别,前者是完全切换用户,后者是不完全,就算切换过来了,你pwd时家目录还是之前的家目录,所以

  登录式顺序为:/etc/bashrc---/etc/profile.d/*.sh----~/.bash_profile---~/.bashrc_profile----~/.bashrc-----/etc/bashrc

  非登录式:~/.bashrc-----/etc/bashrc-/etc/profile.d/*.sh

  1. /etc/profile: 
    该文件登录操作系统时,为每个用户设置环境信息,当用户第一次登录时,该文件被执行。也就是说这个文件对当前每个shell都有效,如果此时su 其他用户没有- ,则切过去的用户无法使用你alias的别名,应为是他是登陆时就产生的,用于获取系统的环境信息。 

  2. /etc/bashrc:为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。也就是说,当用户shell执行了bash时,就运行这个文件,无论你su切换其他用户加-还是不加-alias都有效。

 3、`/.bashrc该文件存储的是专属于个人bash shell的信息,当登录时以及每次打开一个新的shell时,执行这个文件。在这个文件里可以自定义用户专属的个人信息。

 

  • 2