Go to file
2023-11-13 11:57:33 +08:00
.gitignore import #2226663 2023-08-21 23:42:22 +08:00
bash-color-prompt.sh add prompt_default(), prompt_traditional(), prompt_default_os() 2023-11-13 11:57:33 +08:00
COPYING import #2226663 2023-08-21 23:42:22 +08:00
README.md add prompt_default(), prompt_traditional(), prompt_default_os() 2023-11-13 11:57:33 +08:00
shell-color-prompt.spec add prompt_default(), prompt_traditional(), prompt_default_os() 2023-11-13 11:57:33 +08:00
sources import #2226663 2023-08-21 23:42:22 +08:00

Simple colored bash prompt

Defined in /etc/profile.d/bash-color-prompt.sh

The prompt color theme can be customized simply by setting the PROMPT_COLOR envvar, and optionally PROMPT_DIR_COLOR.

For example PROMPT_COLOR='2;7' is dim inverse-video and PROMPT_COLOR='1;33;53' is bright/bold yellow with overline.

PROMPT_DIR_COLOR similarly changes the color of the working directory, which otherwise defaults to PROMPT_COLOR.

Coloring Examples

PROMPT_COLOR=0 # disable colors/attribs
PROMPT_COLOR=1 # bold prompt
PROMPT_COLOR=2 # dim prompt
PROMPT_COLOR=4 # underline prompt
PROMPT_COLOR='2;7' # dim reverse video
PROMPT_COLOR='42' # green background
PROMPT_COLOR='53' # overline separator
PROMPT_COLOR='1;33;44' # bold yellow on blue
PROMPT_COLOR='43;30' # black on yellow
PROMPT_COLOR='1;32' # bold green
PROMPT_COLOR='' # unset defaults to green
eval $(grep ANSI_COLOR /etc/os-release)
PROMPT_COLOR="$ANSI_COLOR"

See https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_(Select_Graphic_Rendition)_parameters for ANSI codes details.

More variables

PROMPT_START (optional)

Displayed at the start of the prompt.

PROMPT_SEPARATOR

Default: PROMPT_SEPARATOR=':'

eg you can change it to '\n or `' \t\n'

PROMPT_DIRECTORY

Default: PROMPT_DIRECTORY='\w'

eg you can change it to '\W'

PROMPT_ERROR

Set (eg PROMPT_ERROR=1) if you want to append red error exit code to the prompt.

PROMPT_END

Displayed at the end of the prompt (before \$).

Traditional Red Hat prompt

PROMPT_START='['
PROMPT_END=']'
PROMPT_SEPARATOR=' '
PROMPT_DIRECTORY='\W'
PROMPT_COLOR='0'

Defaults functions

The traditional Red Hat prompt can be set with the prompt_traditional function.

The prompt can be reset to default with the prompt_default function.

Use the prompt_default_os function to use ANSI_COLOR from /etc/os-release.

Sourcing

Set prompt_color_force (before source'ing) to force usage/updating of color PS1: by default it is only setup cautiously if $TERM ends in "color" and PS1 is the fedora or bash default.

$ prompt_color_force=1
$ source /etc/profile.d/bash-color-prompt.sh

Contribute

Please open issues against shell-color-prompt.

shell-color is distributed under the GPL license version 2 or later.