graph TD;
A[开始] -->|交云?| B(是否交互式 Shell);
B -->|是| C(是否登录 Shell);
B -->|否| I{是否 --login};
C -->|是| D{是否 --rcfile <file>};
C -->|否| G{是否 --norc};
D -->|是| E[加载 <file>];
D -->|否| F[加载 /etc/profile, 然后加载首个存在的 ~/.bash_profile, ~/.bash_login, ~/.profile];
G -->|否| H[加载 /etc/bash.bashrc, 然后加载 ~/.bashrc];
G -->|是| F;
I -->|否| J[加载 $BASH_ENV 指定的文件];
I -->|是| F;
E --> K[执行命令];
F --> K;
H --> K;
J --> K;