aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files/files/lib
diff options
context:
space:
mode:
authorJeffery To <jeffery.to@gmail.com>2019-05-03 02:24:27 +0800
committerPetr Štetiar <ynezz@true.cz>2020-03-01 21:35:59 +0100
commit12020f8a95d21547bd7d7fd1fef9cdecf2892803 (patch)
treedb9a4a36e04807b0b24b542ea21b25725bd4bc82 /package/base-files/files/lib
parent2c3c83e40bf102ee25b352298d54fc0f86372e4f (diff)
downloadupstream-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')
-rw-r--r--package/base-files/files/lib/upgrade/keep.d/base-files-essential1
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