| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | 
							- #!/bin/bash
 - 
 - ######################################################
 - ### things to do AFTER host/user-specific settings ###
 - ######################################################
 - 
 - ### .... ###
 - ### BASH ###
 - ### '''' ###
 - 
 - __make_ps1d() {
 -     local rvfile="/var/tmp/bash-rv/$$.lastrv"
 -     local lastrv
 -     read lastrv <<<$(cat $rvfile 2>/dev/null)
 -     local do_rm=false
 -     test "$1" == "-r" && do_rm=true
 -     if [ 0$lastrv -gt 0 ];
 -     then
 -         echo "!$lastrv!"
 -     else
 -         echo ""
 -     fi
 -     $do_rm && rm -f $rvfile
 - }
 - 
 - __save_rv() {
 -     local rvfile="/var/tmp/bash-rv/$$.lastrv"
 -     [ -w ${rvfile%/*} ] && echo $1 > $rvfile
 - }
 - 
 - make_ps1() {
 -     # these functions must be already defined by ~/.bash/user/*.bashrc
 -     # and ~/.bash/host/*.bashrc
 -     local svrc='$(__save_rv $?)'
 -     local ps1u=$(make_ps1u)
 -     local ps1h=$(make_ps1h)
 -     local ps1w="$lblue\w$normal";
 -     local ps1G='$(__git_ps1 "(%s)")';
 -     local ps1g="$green$ps1G$normal";
 -     local ps1D='$(__make_ps1d)';
 -     local ps1d="$lred$ps1D$normal";
 -     echo "$svrc$ps1u@$ps1h:$ps1w$ps1g$ps1d\$ ";
 - }
 - 
 - make_ps2() {
 -     echo "$white>$yellow>$lyellow>$normal ";
 - }
 - 
 - # and use to assemble own PS1
 - export PS1=$(make_ps1)
 - export PS2=$(make_ps2)
 - 
 - ### ...... ###
 - ### OTHERS ###
 - ### '''''' ###
 - 
 - case "$TERM" in
 - xterm*|rxvt*|screen*)
 -     PROMPT_COMMAND='echo -ne "\033]0;${PWD/$HOME/~}\$\007"'
 - 
 -     # Show the currently running command in the terminal title:
 -     # http://www.davidpashley.com/articles/xterm-titles-with-bash.html
 -     show_command_in_title_bar()
 -     {
 -         case "$BASH_COMMAND" in
 -             *\033]0*)
 -                 # The command is trying to set the title bar as well;
 -                 # this is most likely the execution of $PROMPT_COMMAND.
 -                 # In any case nested escapes confuse the terminal, so don't
 -                 # output them.
 -                 ;;
 -             *)
 -                 if test -n "${BASH_COMMAND}";
 -                 then
 -                     echo -ne "\033]0;${BASH_COMMAND} (${PWD/$HOME/~})\007"
 -                 else
 -                     echo -ne "\033]0;${PWD/$HOME/~}\$\007"
 -                 fi
 -                 ;;
 -         esac
 -     }
 -     trap show_command_in_title_bar DEBUG
 -     ;;
 - esac
 
 
  |