一。bash作为默认的登录shell
1.登录时,会首先执行/etc/profile,它会调用/etc/profile.d/*.sh;
2.执行~/.bash_profile,它会调用~/.bashrc,~/.bashrc又会调用/etc/bashrc;
3.若没有~/.bash_profile,则会执行~/.bash_login,如有,则不执行;
4.若~/.bash_login也没有,则执行~/.profile,如有,则不执行。
二。登出时执行~/.bash_logout
三。当bash作为交互式的shell,但不是登录shell时,不执行~/.bash_profile,只执行/etc/profile和~/.bashrc,登出时也不执行~/.bash_logout
四。当bash不作为的交互式的shell,如bash test.sh,它将执行BASH_ENV环境变量所设置的脚本
五。/bin/sh-->/bin/bash,当登录shell为/bin/sh时,将执行/etc/profile和~/.profile
六。当sh作为交互式的shell,但不是登录shell时,将执行ENV环境变量所设置的脚本
七。当sh test.sh时,将不执行任何脚本
八。当远程主机用bash启动rshd时,用rsh登录远程主机会执行~/.bashrc
九。/bin/ksh会执行/etc/profile和~/.profile
阅读(1288) | 评论(0) | 转发(0) |