Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

agnos.is Forums

  1. Home
  2. Linux
  3. Share your Bash prompts!

Share your Bash prompts!

Scheduled Pinned Locked Moved Linux
linux
49 Posts 37 Posters 241 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • kalcifer@sh.itjust.worksK This user is from outside of this forum
    kalcifer@sh.itjust.worksK This user is from outside of this forum
    [email protected]
    wrote on last edited by
    #1

    I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours! 😊

    ::: spoiler References

    1. 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.
        :::
    mike_wooskey@lemmy.thewooskeys.comM X M wwwgem@lemmy.mlW hallettj@leminal.spaceH 24 Replies Last reply
    1
    0
    • System shared this topic on
    • kalcifer@sh.itjust.worksK [email protected]

      I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours! 😊

      ::: spoiler References

      1. 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.
          :::
      mike_wooskey@lemmy.thewooskeys.comM This user is from outside of this forum
      mike_wooskey@lemmy.thewooskeys.comM This user is from outside of this forum
      [email protected]
      wrote on last edited by
      #2

      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
      
      G 1 Reply Last reply
      0
      • kalcifer@sh.itjust.worksK [email protected]

        I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours! 😊

        ::: spoiler References

        1. 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.
            :::
        X This user is from outside of this forum
        X This user is from outside of this forum
        [email protected]
        wrote on last edited by
        #3
        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\]\\$ "
        
        ikidd@lemmy.worldI 1 Reply Last reply
        0
        • kalcifer@sh.itjust.worksK [email protected]

          I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours! 😊

          ::: spoiler References

          1. 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.
              :::
          M This user is from outside of this forum
          M This user is from outside of this forum
          [email protected]
          wrote on last edited by
          #4

          C:>

          /s

          kalcifer@sh.itjust.worksK hallettj@leminal.spaceH J 3 Replies Last reply
          0
          • kalcifer@sh.itjust.worksK [email protected]

            I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours! 😊

            ::: spoiler References

            1. 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.
                :::
            wwwgem@lemmy.mlW This user is from outside of this forum
            wwwgem@lemmy.mlW This user is from outside of this forum
            [email protected]
            wrote on last edited by
            #5

            Maybe you can find some inspiration here.

            1 Reply Last reply
            0
            • M [email protected]

              C:>

              /s

              kalcifer@sh.itjust.worksK This user is from outside of this forum
              kalcifer@sh.itjust.worksK This user is from outside of this forum
              [email protected]
              wrote on last edited by
              #6

              HA, that's so cursed. I love it.

              1 Reply Last reply
              0
              • X [email protected]
                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\]\\$ "
                
                ikidd@lemmy.worldI This user is from outside of this forum
                ikidd@lemmy.worldI This user is from outside of this forum
                [email protected]
                wrote on last edited by
                #7

                That's a warcrime.

                plutoniumacid@lemmy.worldP 1 Reply Last reply
                0
                • M [email protected]

                  C:>

                  /s

                  hallettj@leminal.spaceH This user is from outside of this forum
                  hallettj@leminal.spaceH This user is from outside of this forum
                  [email protected]
                  wrote on last edited by
                  #8

                  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

                  1 Reply Last reply
                  0
                  • kalcifer@sh.itjust.worksK [email protected]

                    I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours! 😊

                    ::: spoiler References

                    1. 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.
                        :::
                    hallettj@leminal.spaceH This user is from outside of this forum
                    hallettj@leminal.spaceH This user is from outside of this forum
                    [email protected]
                    wrote on last edited by
                    #9

                    I use Starship

                    E mike_wooskey@lemmy.thewooskeys.comM B T 4 Replies Last reply
                    0
                    • kalcifer@sh.itjust.worksK [email protected]

                      I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours! 😊

                      ::: spoiler References

                      1. 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.
                          :::
                      C This user is from outside of this forum
                      C This user is from outside of this forum
                      [email protected]
                      wrote on last edited by
                      #10
                      export PS1="\[\e]0;\u@\h:\w\a\]\[\e[1;34m\]\u@\h:\w\[\e[0m\]\$ "
                      

                      I am a simple man.

                      1 Reply Last reply
                      0
                      • kalcifer@sh.itjust.worksK [email protected]

                        I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours! 😊

                        ::: spoiler References

                        1. 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.
                            :::
                        golden_zealot@lemmy.mlG This user is from outside of this forum
                        golden_zealot@lemmy.mlG This user is from outside of this forum
                        [email protected]
                        wrote on last edited by
                        #11

                        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\]\$ '

                        1 Reply Last reply
                        0
                        • kalcifer@sh.itjust.worksK [email protected]

                          I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours! 😊

                          ::: spoiler References

                          1. 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.
                              :::
                          deuxchevaux@lemmy.worldD This user is from outside of this forum
                          deuxchevaux@lemmy.worldD This user is from outside of this forum
                          [email protected]
                          wrote on last edited by
                          #12

                          Mine is simple (inspired by Kali Linux, if that's even correct)
                          PS1='\[\033[0;32m\]β”Œβ”€β”€[\t] (\u@\h)-[\w]\n└─$ \[\033[0m\]'

                          1 Reply Last reply
                          0
                          • hallettj@leminal.spaceH [email protected]

                            I use Starship

                            E This user is from outside of this forum
                            E This user is from outside of this forum
                            [email protected]
                            wrote on last edited by
                            #13

                            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.)

                            F 1 Reply Last reply
                            0
                            • kalcifer@sh.itjust.worksK [email protected]

                              I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours! 😊

                              ::: spoiler References

                              1. 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.
                                  :::
                              rivalarrival@lemmy.todayR This user is from outside of this forum
                              rivalarrival@lemmy.todayR This user is from outside of this forum
                              [email protected]
                              wrote on last edited by
                              #14

                              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.

                              1 Reply Last reply
                              0
                              • mike_wooskey@lemmy.thewooskeys.comM [email protected]

                                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
                                
                                G This user is from outside of this forum
                                G This user is from outside of this forum
                                [email protected]
                                wrote on last edited by
                                #15

                                Are you dowloading and sourcing a file from the internet on your prompt? That sounds a bit scary!

                                mike_wooskey@lemmy.thewooskeys.comM 1 Reply Last reply
                                0
                                • kalcifer@sh.itjust.worksK [email protected]

                                  I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours! 😊

                                  ::: spoiler References

                                  1. 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.
                                      :::
                                  Z This user is from outside of this forum
                                  Z This user is from outside of this forum
                                  [email protected]
                                  wrote on last edited by
                                  #16

                                  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 '
                                  
                                  1 Reply Last reply
                                  0
                                  • kalcifer@sh.itjust.worksK [email protected]

                                    I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours! 😊

                                    ::: spoiler References

                                    1. 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.
                                        :::
                                    N This user is from outside of this forum
                                    N This user is from outside of this forum
                                    [email protected]
                                    wrote on last edited by
                                    #17

                                    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
                                    
                                    1 Reply Last reply
                                    0
                                    • kalcifer@sh.itjust.worksK [email protected]

                                      I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours! 😊

                                      ::: spoiler References

                                      1. 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.
                                          :::
                                      M This user is from outside of this forum
                                      M This user is from outside of this forum
                                      [email protected]
                                      wrote on last edited by
                                      #18

                                      I’m using fish and the default is enough for anybody. 😁

                                      azzk1kr@feddit.nlA crmsnbleyd@sopuli.xyzC plutoniumacid@lemmy.worldP 3 Replies Last reply
                                      0
                                      • E [email protected]

                                        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.)

                                        F This user is from outside of this forum
                                        F This user is from outside of this forum
                                        [email protected]
                                        wrote on last edited by
                                        #19

                                        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

                                        1 Reply Last reply
                                        0
                                        • kalcifer@sh.itjust.worksK [email protected]

                                          I'm looking for inspiration for a custom Bash prompt^[1]^. I'd love to see yours! 😊

                                          ::: spoiler References

                                          1. 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.
                                              :::
                                          winety@lemmy.zipW This user is from outside of this forum
                                          winety@lemmy.zipW This user is from outside of this forum
                                          [email protected]
                                          wrote on last edited by
                                          #20

                                          Mine's really simple; I just make the path bold and yellow:

                                          My Bash prompt

                                          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.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups