summaryrefslogtreecommitdiff
path: root/nonsystemd/filesystem/profile
diff options
context:
space:
mode:
Diffstat (limited to 'nonsystemd/filesystem/profile')
-rw-r--r--nonsystemd/filesystem/profile29
1 files changed, 18 insertions, 11 deletions
diff --git a/nonsystemd/filesystem/profile b/nonsystemd/filesystem/profile
index a4f717734..78ed69f95 100644
--- a/nonsystemd/filesystem/profile
+++ b/nonsystemd/filesystem/profile
@@ -1,10 +1,8 @@
# /etc/profile
-# Set our umask
-umask 022
-
-# Append our default paths
-appendpath () {
+# Append "$1" to $PATH when not already in.
+# This function API is accessible to scripts in /etc/profile.d
+append_path () {
case ":$PATH:" in
*:"$1":*)
;;
@@ -13,11 +11,12 @@ appendpath () {
esac
}
-appendpath '/usr/local/sbin'
-appendpath '/usr/local/bin'
-appendpath '/usr/bin'
-unset appendpath
+# Append our default paths
+append_path '/usr/local/sbin'
+append_path '/usr/local/bin'
+append_path '/usr/bin'
+# Force PATH to be environment
export PATH
# Load profiles from /etc/profile.d
@@ -28,8 +27,16 @@ if test -d /etc/profile.d/; then
unset profile
fi
-# Source global bash config
-if test "$PS1" && test "$BASH" && test -z ${POSIXLY_CORRECT+x} && test -r /etc/bash.bashrc; then
+# Unload our profile API functions
+unset -f append_path
+
+# Source global bash config, when interactive but not posix or sh mode
+if test "$BASH" &&\
+ test "$PS1" &&\
+ test -z "$POSIXLY_CORRECT" &&\
+ test "${0#-}" != sh &&\
+ test -r /etc/bash.bashrc
+then
. /etc/bash.bashrc
fi