#!/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} -maxdepth 3 -type d |grep -v "$WDOTD" ); do # if [ ! "$(ls -A $i)" ]; then # echo "DIR $i is empty -> remove it" >&2 # rm -vr "$i" 2>&1 |tee -a ${MYSHELLCONFIG_LOGFILE} >&2 # 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 # Disable Ctrl+s to freeze terminal # Source https://www.digitalocean.com/community/tutorials/how-to-use-bash-history-commands-and-expansions-on-a-linux-vps stty -ixon export HISTCONTROL=erasedups,ignorespace,ignoredups export HISTIGNORE="ls:l:cd:exit:pwd:date:" export HISTTIMEFORMAT='%F %T ' export HISTSIZE=999999 echo "bashrc_add sourced" 2>&1 |tee -a ${MYSHELLCONFIG_LOGFILE} >&2 #echo "bashrc_add sourced" >&2