RESET="\[\e[0m\]" RED="\[\e[1;31m\]" GREEN="\[\e[1;32m\]" YELLOW="\[\e[1;33m\]" DKYELLOW="\[\e[0;33m\]" BLUE="\[\e[1;34m\]" DKBLUE="\[\e[0;34m\]" MAGENTA="\[\e[1;35m\]" DKMAGENTA="\[\e[0;35m\]" CYAN="\[\e[1;36m\]" DKCYAN="\[\e[0;36m\]" WHITE="\[\e[1;37m\]" DKWHITE="\[\e[0;37m\]" # permet de mesurer la duree de la derniere commande executee function lastcommandtimer_start { TIMER_HELPER_=${TIMER_HELPER_:-$SECONDS} } function lastcommandtimer_stop { SECONDS_LAST_COMMAND=$(($SECONDS - $TIMER_HELPER_)) unset TIMER_HELPER_ } trap 'lastcommandtimer_start' DEBUG function promptupdate { EXITSTATUS="$?" lastcommandtimer_stop PROMPT=""; if [ "$SECONDS_LAST_COMMAND" -gt 5 ]; then PROMPT="^$MAGENTA$SECONDS_LAST_COMMAND sec$RESET^ "; fi PROMPT="$PROMPT$BLUE\@$DKWHITE|$DKYELLOW\w$RESET > " if [ "${EXITSTATUS}" -eq 0 ]; then PS1="${PROMPT}" else PS1="[exit: $RED$EXITSTATUS $DKRED:-($RESET] ${PROMPT}" fi } if [ -n "$PS1" ]; then # test for interractive shell PROMPT_COMMAND=promptupdate fi