#!/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=/opt/bash/shell/base # where # now bootstrap by souring the shell repo envinroment . $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? echo interactive login shell if [[ ! $NO_LOGIN_BASHRC ]]; then echo 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 ]]; 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