#!/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 if [ -f "${MYSHELLCONFIG_BASE}/myshell_load_fortmpconfig" ]; then . "${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 # Create and link Work-Dir of the Day if [ $(id -u) -ne 0 ]; then ARCHIVSUBPATH="archive/work" ARCHIVPATH="${HOME}/${ARCHIVSUBPATH}" WDOTD=$(date "+${ARCHIVPATH}/%Y/%m/work_%Y%m%d") WORKDIR="${HOME}/Work" # 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" rm -vr "$i" fi done # Create workdir of the day, if not existing [ -e $WDOTD ] || mkdir -pv "${WDOTD}" >>${MYSHELLCONFIG_LOGFILE} # Link $WORKDIR to $WDOTD and set alias if [[ ( -e "${WORKDIR}" && -h "${WORKDIR}" ) || ! -e "${WORKDIR}" ]] ; then ln -svnf "${WDOTD}" "${WORKDIR}" >>${MYSHELLCONFIG_LOGFILE} alias gowork='cd "${WORKDIR}"' else echo "${WORKDIR} exists and is real directory" |tee -a ${MYSHELLCONFIG_LOGFILE} 2>&1 alias gowork='echo "${WORKDIR} is not configurable, see ${MYSHELLCONFIG_LOGFILE}' fi unset ARCHIVPATH ARCHIVSUBPATH fi echo "bashrc_add sourced" 2>&1 |tee -a ${MYSHELLCONFIG_LOGFILE} >&2 #echo "bashrc_add sourced" >&2