myshellconfig/myshell_load_defaults

131 lines
3.4 KiB
Text
Raw Normal View History

#!/bin/bash
# Load default values, functions, aliases for myshellconfig
if ! $SSHS; then
if [ -e ${MYSHELLCONFIG_BASE}/functions.sh ]; then
. ${MYSHELLCONFIG_BASE}/functions.sh
else
return
fi
######################################################################################
# ls is not in color on all systems
export LS_OPTIONS='--color=auto'
eval "`dircolors`"
#######################################################################################
# User specific aliases and function
if [ -d "${MYSHELLCONFIG_BASE}/bin" ] ; then
pathmunge "${MYSHELLCONFIG_BASE}/bin"
export PATH
fi
if [ -d "${MYSHELLCONFIG_BASE}/git-credential-pass" ] ; then
pathmunge "${MYSHELLCONFIG_BASE}/git-credential-pass"
export PATH
fi
if [ -f "${MYSHELLCONFIG_BASE}/aliases" ]; then
. "${MYSHELLCONFIG_BASE}/aliases"
fi
if [ -f "${MYSHELLCONFIG_BASE}/PS1" ]; then
. "${MYSHELLCONFIG_BASE}/PS1"
fi
if [ -e "${MYSHELLCONFIG_BASH_COMPLETION}" ]; then
for i in $( ls "${MYSHELLCONFIG_BASH_COMPLETION}" ); do
. "${MYSHELLCONFIG_BASH_COMPLETION}/${i}"
done
fi
2020-01-22 11:00:53 +01:00
if [ -f "${MYSHELLCONFIG_BASE}/myshell_load_fortmpconfig" ]; then
2020-01-22 10:47:19 +01:00
. "${MYSHELLCONFIG_BASE}/myshell_load_fortmpconfig"
fi
#########################################################################################
# Go HOME
#cd ${HOME}
if test ! $TMUX && test $SSH_TTY && test $TERM != screen && test $(systemctl status tmux@${USER}.service 1>/dev/null 2>&1; echo $? ) -eq 0; then
cat << EOF
"User: $USER - $UID"
Starting or resuming screen session
Press CTRL+C to cancel screen startup
EOF
sleep 1
#screen -UxR
tmux attach-session
fi
unset -f pathmunge
else
# run with temporary config
case $TERM in
*screen*)
echo BASHRC: $BASHRC -> source it
#[ -e $BASHRC ] && . "$BASHRC"
if [ ! -z ${BASHRC+x} ]; then
if [ -e $BASHRC ] ; then
exec bash --rcfile "$BASHRC" -i /dev/null
else
exec bash -i
fi
else
exec bash -i
fi
;;
esac
fi
2020-01-22 10:10:10 +01:00
# Create and link Work-Dir of the Day
if [ $(id -u) -ne 0 ]; then
2020-01-22 12:33:14 +01:00
ARCHIVSUBPATH="archive/work"
ARCHIVPATH="${HOME}/${ARCHIVSUBPATH}"
WDOTD=$(date "+${ARCHIVPATH}/%Y/%m/work_%Y%m%d")
WORKDIR="${HOME}/Work"
2020-01-22 12:47:14 +01:00
# First cleanup all empty Archivdirectories for workdir
for i in $(find ${ARCHIVPATH} -type d); do
if [ ! "$(ls -A $i)" ]; then
echo "DIR $i is empty -> remove it"
2020-01-22 13:18:46 +01:00
rm -vr "$i"
2020-01-22 12:47:14 +01:00
fi
done
# Create workdir of the day, if not existing
2020-01-22 10:26:02 +01:00
[ -e $WDOTD ] || mkdir -pv "${WDOTD}" >>${MYSHELLCONFIG_LOGFILE}
2020-01-22 12:47:14 +01:00
# Link $WORKDIR to $WDOTD and set alias
2020-01-22 12:33:14 +01:00
if [[ ( -e "${WORKDIR}" && -h "${WORKDIR}" ) || ! -e "${WORKDIR}" ]] ; then
ln -svnf "${WDOTD}" "${WORKDIR}" >>${MYSHELLCONFIG_LOGFILE}
alias gowork='cd "${WORKDIR}"'
2020-01-22 10:10:10 +01:00
else
2020-01-22 12:33:14 +01:00
echo "${WORKDIR} exists and is real directory" |tee -a ${MYSHELLCONFIG_LOGFILE} 2>&1
alias gowork='echo "${WORKDIR} is not configurable, see ${MYSHELLCONFIG_LOGFILE}'
2020-01-22 10:10:10 +01:00
fi
2020-01-22 12:33:14 +01:00
2020-01-22 12:47:14 +01:00
unset ARCHIVPATH ARCHIVSUBPATH
2020-01-22 10:10:10 +01:00
fi
2020-01-22 10:22:05 +01:00
echo "bashrc_add sourced" 2>&1 |tee -a ${MYSHELLCONFIG_LOGFILE} >&2
#echo "bashrc_add sourced" >&2
2020-01-22 10:10:10 +01:00