diff options
Diffstat (limited to 'nonsystemd/filesystem/profile')
-rw-r--r-- | nonsystemd/filesystem/profile | 29 |
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 |