kebler.net
de43f28f78
changed startup in setup in /etc/profile.d accordingly so it sources intead of calls async for the same reason add notify module with login_notify to delay notification until user is logged in added lag to alias, and made load debug module is load in file module.
62 lines
1.8 KiB
Bash
62 lines
1.8 KiB
Bash
#!/bin/bash
|
|
|
|
# put no script code directly here.
|
|
# organize all script code in files /etc/profile.d
|
|
|
|
# uncomment for debugging
|
|
# echo ---- system profile /etc/profile sourced at login ----
|
|
# [ $EUID -eq 0 ] && echo 'Root User' || echo 'Non Root User'
|
|
# [[ $- == *i* ]] && echo 'Interactive' || echo 'Not interactive'
|
|
# shopt -q login_shell && echo 'Login shell' || echo 'Not login shell'
|
|
# echo -----------
|
|
|
|
# main /etc/profile loaded for all logins
|
|
# more info see http://www.linuxfromscratch.org/blfs/view/svn/postlfs/profile.html
|
|
|
|
# Set the initial path
|
|
export PATH=/bin:/usr/bin:/usr/local/bin
|
|
# set directory for base shell repo
|
|
export BASH_SHELL_BASE=THISWILLCHANGEDBYDEPLOYSCRIPT
|
|
# now bootstrap by souring the shell repo envinroment
|
|
source $BASH_SHELL_BASE/shell.env
|
|
# uncomment to NOT load the BASH SHELL Repos for interactive login shell
|
|
# NO_LOGIN_BASHRC=true
|
|
if [[ $- == *i* ]]; then # interactive?
|
|
[[ ! $SSH_SESSION ]] && echo interactive login shell
|
|
if [[ ! $NO_LOGIN_BASHRC ]]; then
|
|
# echo interactive shell loading $BASH_SHELL_LOAD
|
|
source "$BASH_SHELL_LOAD"
|
|
else
|
|
NORMAL="\[\e[0m\]"
|
|
RED="\[\e[1;31m\]"
|
|
GREEN="\[\e[1;32m\]"
|
|
if [[ $EUID == 0 ]] ; then
|
|
PS1="$RED\u [ $NORMAL\w$RED ]# $NORMAL"
|
|
else
|
|
PS1="$GREEN\u [ $NORMAL\w$GREEN ]\$ $NORMAL"
|
|
fi
|
|
unset RED GREEN NORMAL
|
|
fi
|
|
else
|
|
if [[ $EUID -ne 0 ]] && [[ ! $SSH_SESSION ]]; then
|
|
export LOGIN_LOG=$HOME/logs/login.log
|
|
mkdir -p $HOME/logs
|
|
touch $LOGIN_LOG
|
|
llog () {
|
|
echo "$@" 2>&1 | tee -a $LOGIN_LOG
|
|
}
|
|
export -f llog
|
|
llog "$(env | grep BASH)"
|
|
echo "$(date)" > $LOGIN_LOG
|
|
llog "non-interactive login shell for $USER"
|
|
if [ -d /etc/profile.d ]; then
|
|
for i in /etc/profile.d/*.sh; do
|
|
if [ -r $i ]; then
|
|
llog "sourcing $i"
|
|
source $i
|
|
fi
|
|
done
|
|
unset i
|
|
fi
|
|
fi
|
|
fi
|