12020f8a95
Because /etc/profile (and ~/.profile) are read by login shells only, aliases and functions defined there are not available to non-login shells, e.g. when using screen or tmux. If the ENV environment variable exists (exported by /etc/profile or ~/.profile) and references an existing file, then all interactive shells (login or non-login) will read that file as well. This sets the ENV environment variable in /etc/profile, pointing to /etc/shinit. This also adds /etc/shinit, which: * Contains alias and function definitions originally in /etc/profile * Sources /etc/mkshrc if the user is using mksh (also originally in /etc/profile), as /etc/mkshrc is meant for all interactive shells * Sources ~/.mkshrc if the user is using mksh, to compensate for the fact that mksh will not read ~/.mkshrc if ENV is set * Sources ~/.shinit if the user is not using mksh This also removes the shebang from /etc/profile, as the file is sourced, not executed. Signed-off-by: Jeffery To <jeffery.to@gmail.com> |
||
---|---|---|
.. | ||
board.d | ||
hotplug.d/net | ||
init.d | ||
iproute2 | ||
rc.button | ||
sysctl.d | ||
uci-defaults | ||
banner | ||
banner.failsafe | ||
device_info | ||
diag.sh | ||
ethers | ||
fstab | ||
group | ||
hosts | ||
inittab | ||
openwrt_release | ||
openwrt_version | ||
os-release | ||
passwd | ||
preinit | ||
profile | ||
protocols | ||
rc.common | ||
rc.local | ||
services | ||
shadow | ||
shells | ||
shinit | ||
sysctl.conf | ||
sysupgrade.conf |