| @@ -37,8 +37,30 @@ both `setup.sh` and `shrc`. | |||||
| Sourcing flow | Sourcing flow | ||||
| ------------- | ------------- | ||||
| When using `sh`, rc file for interactive use is found by `ENV` and it is usually | |||||
| set to `$HOME/.shrc`. | |||||
| 1. $HOME/.profile | |||||
| Sourced if: | |||||
| currnet shell is login shell and | |||||
| (current shell is sh || | |||||
| (current shell is bash && $HOME/.bash_profile does not exist) || | |||||
| (current shell is zsh && $HOME/.zprofile does not exist)) | |||||
| This file set ENV to $HOME/.shrc , which is loaded when sh is run interactively. | |||||
| Add lines like `test -n "$BASH_VERSION" && . "$HOME/.bashrc"` . | |||||
| 3. $HOME/.shrc | |||||
| Sourced through ENV when shell is sh, and $HOME/.{ba,z}shrc if bash or zsh | |||||
| respectively. Source $HOME/.dotfiles/shrc . | |||||
| 3. $HOME/.{ba,z}shrc | |||||
| Sourced when current shell is bash or zsh respectively and current shell is not | |||||
| login shell. When current shell is login shell, these files are sourced | |||||
| explicitly by $HOME/.bash_profile or $HOME/.zprofile . | |||||
| $HOME/.{ba,z}shrc <= bash, zsh | $HOME/.{ba,z}shrc <= bash, zsh | ||||
| @@ -54,5 +76,3 @@ $HOME/.{ba,z}shrc <= bash, zsh | |||||
| |--~/.dotfiles/xprofile | |--~/.dotfiles/xprofile | ||||
| | | | | ||||
| `--~/.dotfiles/xprograms | `--~/.dotfiles/xprograms | ||||