Share your Bash prompts!
-
Is this running in your rc (i.e. every single time you open a terminal)? Even if it's safe, I'd be annoyed by any delay.
Yeah, its checking if the file exists first, so it's not doing it all the time.
My worry is more related to repos takeovers or hacks. This is pretty hidden, so it could be easy to even forget it's there, probably not the worst, but still..
-
It is in my .bashrc, but any delay is not noticeable.
Ah that's fair, I didn't look closely
-
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 mainly using zsh but I have a backup bash prompt that closely mirrors it.
retval() { if [ $? -eq 0 ]; then printf "" else printf "\001\e[31m\002($?)\001\e[0m\002" fi } gitbranch() { if type git 2> /dev/null 1> /dev/null && git rev-parse 2> /dev/null 1> /dev/null ; then MODIFIED="" if [[ -n $(git status --short) ]]; then MODIFIED=" M" fi BRANCH=$(git rev-parse --abbrev-ref HEAD) SHORTREF=$(git rev-parse --short HEAD) printf "\001\e[31m\002%s\001\e[0m\002(%s)\001\e[31m\002%s\001\e[0m\002" $BRANCH $SHORTREF $MODIFIED else echo -n "" fi } export PROMPT_DIRTRIM=3 PS1='$(retval)[\001\e[1;95m\002\u\001\e[0m\002@\h : \w $(gitbranch)] \$ ' PS2='> '
- 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.
-
By now, enough people have fish that you can basically assume those scripts being “portable”. Far better than nushell or xonsh - which are both pretty advanced shells but other tools lack support for them, e.g. Midnight Commander.
Am I a loser if I stick to POSIX?
-
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.
computer /usr/share/ $>
- 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.
- 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 full path and a new line for commands.
It will also print the exit code of the last command in red above the prompt, if the exit code is not 0.
PS1='$(ec="$?"; if [ $ec -gt 0 ]; then echo -e "\n"[\e[91m]"exit code: $ec"[\e[0m]; fi)\n[\e[92m]\u[\e[38;5;213m]@[\e[38;5;39m]\h[\e[0m]:$PWD\n$ '
- 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 just status(if not zero) and wd
- 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
Convert the PWD value to use backslashes, too, for extra cursedness.
-
Convert the PWD value to use backslashes, too, for extra cursedness.
c/FoundSatan
-
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.
[username@host ~]$ >
- 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.
and rather elaborate. From left-to-right:
- name@server-name
- Uptime (multiplied by 10 and rounded to the nearest integer to save space)
- Percentage disk space available on
/
- Number on established network connections
- Git branch
:
commit - Python virtualenv
- [new line]
- date and time
The code for this is on GitLab.
- 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.
- 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.
-