aboutsummaryrefslogtreecommitdiff
path: root/files/bin/prompt.sh
blob: 9c43491f6d1d98ae4477c28dfe8bb083fdf500a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash
#
# Fancy bash prompt.
# See http://www.debian-administration.org/article/Fancy_Bash_Prompts
#

function command_prompt() {
  exit_status="$?"
  # colors
  COLOR_RED="\[\033[31m\]"
  COLOR_GREEN="\[\033[32;40m\]"
  COLOR_YELLOW="\[\033[33;40m\]"
  COLOR_BLUE="\[\033[34;40m\]"
  COLOR_MAGENTA="\[\033[35;40m\]"
  COLOR_CYAN="\[\033[36;40m\]"

  COLOR_RED_BOLD="\[\033[31;1m\]"
  COLOR_GREEN_BOLD="\[\033[32;1m\]"
  COLOR_YELLOW_BOLD="\[\033[33;1m\]"
  COLOR_BLUE_BOLD="\[\033[34;1m\]"
  COLOR_MAGENTA_BOLD="\[\033[35;1m\]"
  COLOR_CYAN_BOLD="\[\033[36;1m\]"

  COLOR_NONE="\[\033[0m\]"
  BOLD="\[\033[1m\]"

  if [ "$exit_status" == "0" ]; then
    status_color="${COLOR_GREEN}"
  else
    status_color="${COLOR_RED_BOLD}"
  fi

  PS1="(${status_color}${exit_status}${COLOR_NONE}) [${COLOR_RED}\D{%Y%m%d %H:%M:%S}${COLOR_NONE}] ${COLOR_GREEN}\u@\h${COLOR_NONE}:${COLOR_CYAN}\w${COLOR_NONE} \\$ "
  PS2="${BOLD}>${OFF} "
}

command_prompt