Share your Bash prompts!
-
I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours!
::: spoiler References
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
:::
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
-
-
I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours!
::: spoiler References
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
:::
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
Mine shows the user and host, git commit and branch, docker context and directory, color coded based on status of git:
[root@server001|G:19e526e@(master)|D:myContext|currentDir] $
## PS1 adapted from https://gist.github.com/xenji/2292341 ps1_generator() { # docker context inspect --format '{{ .Name }}' Time12h="\T"; Time12a="\@"; ShortHost="\h"; Username="\u"; PathShort="\W"; PathFull="\w"; NewLine="\n"; Jobs="\j"; test -f ~/.config/git-prompt.sh || \ curl -L https://raw.github.com/git/git/master/contrib/compl etion/git-prompt.sh \ > ~/.config/git-prompt.sh source ~/.config/git-prompt.sh Color_Off="\[\033[0m\]"; IBlack="\[\033[0;90m\]"; BWhite="\[\03 3[1;37m\]"; BGreen="\[\033[1;32m\]"; BIRed="\[\033[1;91m\]"; BIWhite="\[\033[1;97m\]"; BIPurple="\[\ 033[1;95m\]"; BIBlue="\[\033[1;94m\]"; GIT_PS1='$(git branch &>/dev/null;\ if [ $? -eq 0 ]; then \ echo "$(echo `git status` | \grep "nothing to commit" > /dev/null 2>&1; \ DIRTY="$?"; \ HEADREV=`git log --pretty=%h -n 1`; \ echo -n "|G:'${BWhite}'$HEADREV"; \ if [ "$DIRTY" -eq "0" ]; then \ # @4 - Clean repository - nothing to commit echo "@'${BGreen}'"$(__git_ps1 "(%s)"); \ else \ # @5 - Changes to working tree echo "'${BIBlue}'@'${BIRed}'"$(__git_ps1 "{%s}"); \ fi)'${Color_Off}'"; \ else \ # @2 - Prompt when not in GIT repo echo ""; \ fi)' if docker context inspect >/dev/null 2>&1; then DOCKER_PS1='|D:'${BIBlue}'$(docker context inspect --format "{{ .Name }}")'${Color_Off} fi USER_PS1=${BIPurple}${Username}'@'${ShortHost}${Color_Off} PATH_PS1='|'${BWhite}${PathShort}${Color_Off} export PS1='['${USER_PS1}${GIT_PS1}${DOCKER_PS1}${PATH_PS1}'] $ ' } ps1_generator && unset -f ps1_generator
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
-
I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours!
::: spoiler References
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
:::
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
export PS1="\[\e[31m\][\[\e[m\]\[\e[38;5;172m\]\u\[\e[m\]@\[\e[38;5;153m\]\h\[\e[m\] \[\e[38;5;214m\]\W\[\e[m\]\[\e[31m\]]\[\e[m\]\\$ "
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
-
I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours!
::: spoiler References
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
:::
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
C:>
/s
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
-
I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours!
::: spoiler References
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
:::
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
Maybe you can find some inspiration here.
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
-
C:>
/s
HA, that's so cursed. I love it.
-
export PS1="\[\e[31m\][\[\e[m\]\[\e[38;5;172m\]\u\[\e[m\]@\[\e[38;5;153m\]\h\[\e[m\] \[\e[38;5;214m\]\W\[\e[m\]\[\e[31m\]]\[\e[m\]\\$ "
That's a warcrime.
-
C:>
/s
Do you have anything to check whether the current directory is under
/media/
or/mnt/
so that you can change the drive letter according to a deterministic assignment?/s
-
I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours!
::: spoiler References
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
:::
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
I use Starship
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
-
I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours!
::: spoiler References
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
:::
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
export PS1="\[\e]0;\u@\h:\w\a\]\[\e[1;34m\]\u@\h:\w\[\e[0m\]\$ "
I am a simple man.
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
-
I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours!
::: spoiler References
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
:::
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
Prompt is pretty simple, mainly just adjusted coloring and added a timestamp.
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;36;01m\]\t \[\033[01;32m\]\u@\[\033[01;37;01m\]\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$ '
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
-
I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours!
::: spoiler References
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
:::
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
Mine is simple (inspired by Kali Linux, if that's even correct)
PS1='\[\033[0;32m\]βββ[\t] (\u@\h)-[\w]\nββ$ \[\033[0m\]'
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
-
I use Starship
Same. I guess, this is the Starship thread now. My config:
I adapted it from the Gruvbox Rainbow theme.
I can post my config, if anyone wants specifically that. (It does kind of assume a light background, though.) -
I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours!
::: spoiler References
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
:::
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
I didn't even know I needed to edit my prompt, but now I don't know how I have lived with it for so long.
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
-
Mine shows the user and host, git commit and branch, docker context and directory, color coded based on status of git:
[root@server001|G:19e526e@(master)|D:myContext|currentDir] $
## PS1 adapted from https://gist.github.com/xenji/2292341 ps1_generator() { # docker context inspect --format '{{ .Name }}' Time12h="\T"; Time12a="\@"; ShortHost="\h"; Username="\u"; PathShort="\W"; PathFull="\w"; NewLine="\n"; Jobs="\j"; test -f ~/.config/git-prompt.sh || \ curl -L https://raw.github.com/git/git/master/contrib/compl etion/git-prompt.sh \ > ~/.config/git-prompt.sh source ~/.config/git-prompt.sh Color_Off="\[\033[0m\]"; IBlack="\[\033[0;90m\]"; BWhite="\[\03 3[1;37m\]"; BGreen="\[\033[1;32m\]"; BIRed="\[\033[1;91m\]"; BIWhite="\[\033[1;97m\]"; BIPurple="\[\ 033[1;95m\]"; BIBlue="\[\033[1;94m\]"; GIT_PS1='$(git branch &>/dev/null;\ if [ $? -eq 0 ]; then \ echo "$(echo `git status` | \grep "nothing to commit" > /dev/null 2>&1; \ DIRTY="$?"; \ HEADREV=`git log --pretty=%h -n 1`; \ echo -n "|G:'${BWhite}'$HEADREV"; \ if [ "$DIRTY" -eq "0" ]; then \ # @4 - Clean repository - nothing to commit echo "@'${BGreen}'"$(__git_ps1 "(%s)"); \ else \ # @5 - Changes to working tree echo "'${BIBlue}'@'${BIRed}'"$(__git_ps1 "{%s}"); \ fi)'${Color_Off}'"; \ else \ # @2 - Prompt when not in GIT repo echo ""; \ fi)' if docker context inspect >/dev/null 2>&1; then DOCKER_PS1='|D:'${BIBlue}'$(docker context inspect --format "{{ .Name }}")'${Color_Off} fi USER_PS1=${BIPurple}${Username}'@'${ShortHost}${Color_Off} PATH_PS1='|'${BWhite}${PathShort}${Color_Off} export PS1='['${USER_PS1}${GIT_PS1}${DOCKER_PS1}${PATH_PS1}'] $ ' } ps1_generator && unset -f ps1_generator
Are you dowloading and sourcing a file from the internet on your prompt? That sounds a bit scary!
-
I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours!
::: spoiler References
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
:::
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
I use zsh, but my old Bash prompt looks almost the same ash my Zsh prompt. Sorry, no screenshot, but here's the code:
export PS1='\[\033[01;34m\][\[\033[01;37m\] \W\[\033[01;34m\]]\$\033[01;34m\] $(git branch 2>/dev/null | grep '^*' | colrm 1 2)\n\033[01;34mββ>\033[37m '
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
-
I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours!
::: spoiler References
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
:::
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
Mine's pretty simple:
## .bashrc export BLA=$(tput setaf 0) # Black export RED=$(tput setaf 1) # Red export GRE=$(tput setaf 2) # Green export YEL=$(tput setaf 3) # Yellow export BLU=$(tput setaf 4) # Blue export MAG=$(tput setaf 5) # Magenta export CYA=$(tput setaf 6) # Cyan export WHI=$(tput setaf 7) # White export BOL=$(tput bold) # Bold export ITA=$(tput sitm) # Italic export UL=$(tput smul) # Underline export NC=$(tput sgr0) # No color & format _branch() { local branch=$(__git_ps1 "%s") if [[ -z $branch ]]; then printf "${BLA}null${NC}" else printf "${CYA}$branch" fi } PS1='.\[$(_pwd)\] \[$BLA\]γ \[$MAG\]git\[$BLA\]:\[$(_branch)\] \n \[$NC$CYA\]\! \[$MAG\]\$ \[$NC\]' ## .inputrc set vi-ins-mode-string \1\e[34m\2.INS set vi-cmd-mode-string \1\e[33m\2.CMD
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
-
I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours!
::: spoiler References
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
:::
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
Iβm using fish and the default is enough for anybody.
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
-
Same. I guess, this is the Starship thread now. My config:
I adapted it from the Gruvbox Rainbow theme.
I can post my config, if anyone wants specifically that. (It does kind of assume a light background, though.)I like the timer and the error icon on a fail.
I can't recall how often I think: damn this is taking too long. I should've timed the command -
I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours!
::: spoiler References
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
:::
- Β§6.9 "Controlling the Prompt". URI: https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html.
Mine's really simple; I just make the path bold and yellow:
What I like to do is change the colour depending on the machine I ssh into, e.g. make the path red on my Raspberry Pi.
- Type: Documentation. Title: "Bash Reference Manual". Publisher: Gnu Project. Edition: 5.2. Published: 2022-09-19. Accessed: 2025-03-21T02:46Z. URI: https://www.gnu.org/software/bash/manual/html_node/index.html.