PS1 Editing

This is the code included in $HOME/.bashrc that would define what the prompt would look like in a standard linux terminal using bash.

Some Background:

when executing interactively, bash displays the primary prompt ps1 when it is ready to read a command, and the secondary prompt ps2 when it needs more input to complete a command. Bash allows these prompt strings to be customized by inserting a number of backslash-escaped special characters that are decoded as follows:


    \a : an ASCII bell character (07)
    \d : the date in "Weekday Month Date" format (e.g., "Tue May 26")
    \D{format} : the format is passed to strftime(3) and the result is inserted into the prompt string; an empty format results in a locale-specific time representation. The braces are required
    \e : an ASCII escape character (033)
    \h : the hostname up to the first '.'
    \H : the hostname
    \j : the number of jobs currently managed by the shell
    \l : the basename of the shell’s terminal device name
    \n : newline
    \r : carriage return
    \s : the name of the shell, the basename of $0 (the portion following the final slash)
    \t : the current time in 24-hour HH:MM:SS format
    \T : the current time in 12-hour HH:MM:SS format
    \@ : the current time in 12-hour am/pm format
    \A : the current time in 24-hour HH:MM format
    \u : the username of the current user
    \v : the version of bash (e.g., 2.00)
    \V : the release of bash, version + patch level (e.g., 2.00.0)
    \w : the current working directory, with $HOME abbreviated with a tilde
    \W : the basename of the current working directory, with $HOME abbreviated with a tilde
    \! : the history number of this command
    \# : the command number of this command
    \$ : if the effective UID is 0, a #, otherwise a $
    \nnn : the character corresponding to the octal number nnn
    \\ : a backslash
    \[ : begin a sequence of non-printing characters, which could be used to embed a terminal control sequence into the prompt
    \] : end a sequence of non-printing characters

Some Examples:

Notice you may or may not use PS1/2, "export", etc. I've successfully changed my prompt with and without these options.

sample 1:
$ PS1="[\d \t \u@\h:\w ] $ "


sample 2:
PS1="\d \h $ "


sample 3:

export PS1="┌──╼ [ \h\[ ][ \w ]\n└──────────╼ "
export PS2="└──────────╼ "


sample 4:
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$


sample 5:

PS1='\[\033[01;31m\]:-) \[\033[01;32m\]'


sample 6:
${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\