UNIX Escape Sequence
Contents |
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 in the table below.
To test your terminal for the usage of the escape sequence try the following:
echo -en "\033[7A\033[1;35m BASH \033[7B\033[6D"
This should move the cursor seven lines up screen, print the word " BASH ", and then return to where it started to produce a normal prompt.
Char | Description |
---|---|
\a | ASCII bell character (07) |
\d | The date in "Weekday Month Date" format (e.g., "Tue May 26") |
\e | ASCII escape character (033) |
\h | Hostname up to the first `.' |
\H | Hostname |
\j | 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 |
\u | the username of the current user |
\v | the version of bash (e.g., 2.00) |
\V | the release of bash, version + patchlevel (e.g., 2.00.0) |
\w | the current working directory |
\W | the basename of the current working directory |
\! | 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 character |
See also
- Bash Prompt Howto with examples (tip).
- Steve Parker Escape Characters
- ANSI escape sequences to produce color in UNIX.