diff options
author | Jeffery To <jeffery.to@gmail.com> | 2019-05-03 02:24:27 +0800 |
---|---|---|
committer | Petr Štetiar <ynezz@true.cz> | 2020-03-01 21:35:59 +0100 |
commit | 12020f8a95d21547bd7d7fd1fef9cdecf2892803 (patch) | |
tree | db9a4a36e04807b0b24b542ea21b25725bd4bc82 /package/base-files/files/lib/upgrade/keep.d | |
parent | 2c3c83e40bf102ee25b352298d54fc0f86372e4f (diff) | |
download | upstream-12020f8a95d21547bd7d7fd1fef9cdecf2892803.tar.gz upstream-12020f8a95d21547bd7d7fd1fef9cdecf2892803.tar.bz2 upstream-12020f8a95d21547bd7d7fd1fef9cdecf2892803.zip |
base-files: Add /etc/shinit for non-login shell init
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>
Diffstat (limited to 'package/base-files/files/lib/upgrade/keep.d')
-rw-r--r-- | package/base-files/files/lib/upgrade/keep.d/base-files-essential | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/package/base-files/files/lib/upgrade/keep.d/base-files-essential b/package/base-files/files/lib/upgrade/keep.d/base-files-essential index 978d4b58bc..7a7a253466 100644 --- a/package/base-files/files/lib/upgrade/keep.d/base-files-essential +++ b/package/base-files/files/lib/upgrade/keep.d/base-files-essential @@ -6,5 +6,6 @@ /etc/profile /etc/shadow /etc/shells +/etc/shinit /etc/sysctl.conf /etc/rc.local |