Maybe you can find some inspiration here.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by AlpΓ‘r-Etele MΓ©der, licensed under CC BY 3.0
I use zsh, but my old Bash prompt looks almost the same as 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 '
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
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$ '
export PS1="\[\e]0;\u@\h:\w\a\]\[\e[1;34m\]\u@\h:\w\[\e[0m\]\$ "
I am a simple man.
[username@host ~]$ >
computer /usr/share/ $>
PS1='\[\e[1m\][\[\e[92m\]\u\[\e[0m\]@\[\e[96;1;3m\]\h\[\e[0;1m\]]\[\e[0m\] \[\e[1m\][\[\e[38;5;226m\]\w\[\e[39m\]]\[\e[0m\] \[\e[97;1m\]~\[\e[92;5m\]\$\[\e[0m\] '
Note: The "$" prompt flashes like a typical cursor.
Mine is simple (inspired by Kali Linux, if that's even correct)
PS1='\[\033[0;32m\]βββ[\t] (\u@\h)-[\w]\nββ$ \[\033[0m\]'
My bash prompt is just me copying the prompt I have set on fish.
# Prompt
green=$'\e[38;5;2m'
bright_red=$'\e[38;5;9m'
bright_green=$'\e[38;5;10m'
reset=$'\e[0m'
prompt_command()
{
local exit_status=$?
if [[ $exit_status != 0 ]]; then
exit_color=$bright_red
exit_prompt=" [$exit_status]"
else
exit_color=$bright_green
exit_prompt=""
fi
}
PROMPT_COMMAND=prompt_command
PS1='\[$green\]\w\[$exit_color\]$exit_prompt\nβ― \[$reset\]'
I have a small issue with this prompt though. Sometimes the β― ends up turning white for some reason.
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\]\\$ "
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
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.
$
or #
, depending on whether I'm root.
Ok after viewing your prompts I noticed that mine is kinda lame
Mine is just status(if not zero) and wd
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.
I'm mainly using zsh but I have a backup bash prompt that closely mirrors it. It shows the return value of the previous command if it's non-zero and gives some information about the current git repository if there is one.
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='> '
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\]\$ '
My shit is custom 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.
I like Liquid Prompt[1] (A useful adaptive prompt for Bash & Zsh) Examples:
ΞΈ70Β° 2z termight@zone51:~ $ vi .bashrc
ΞΈ71Β° 2z termight@zone51:~/docker/invidious master(+34/-17)* Β±
Iβm using fish and the default is enough for anybody. π
I love it! You get git and virtual env integration for free :)