Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
bash:tip_customize_the_shell_prompt [2011/06/15 17:04]
flozz [Example of prompts]
bash:tip_customize_the_shell_prompt [2011/06/22 12:39]
flozz [Bash tips: Customize the shell prompt]
Line 1: Line 1:
 ====== Bash tips: Customize the shell prompt ====== ====== Bash tips: Customize the shell prompt ======
  
-FIXME+The prompt of Bash can be customized, and can displays several useful informations.
  
 +The main prompt is stored in the ''​PS1''​ variable of the shell. You can show it with the following command:
 +<code bash>​echo $PS1</​code>​
  
 +and you can change it by modifying the content of this variable. For example this command will change your prompt:
 +<code bash>​PS1="​This is my new prompt >>>​ "</​code>​
  
 +If you close your terminal and open it again, the prompt is reverted to the default ; that is normal because you have not
 +save it. For permanently changing you prompt, you have to modify your ''​~/​.bashrc''​ file. The simple way to change your
 +prompt is to add the following line at the end of the file:
 +<code bash>​PS1="​Prompt >>>​ "</​code>​
 +
 +Now let's see the different things that can be displayed in the prompt...
 ===== Prompt Helper ===== ===== Prompt Helper =====
  
Line 20: Line 30:
 ===== Special sequences ===== ===== Special sequences =====
  
-^ Sequence ​    ​^ description ​                                                                 ^ Example/​Preview ​                ^ +^ Sequence ​        ​^ description ​                                                                      ​^ Example/​Preview ​                ^ 
-|  \d          Date (''​+%a %b %d''​ format) ((''​date''​ command format)) ​                     | ''​Mon Jun 13'' ​                 | +|  \d              The date (''​+%a%b%d''​ format) ((''​date''​ command format)) ​                     | ''​Mon Jun 13'' ​                 ​
-|  \t          Time, 24-hour (''​+%k:​%M:​%S''​ format) ((''​date''​ command format)) ​            ​| ''​22:​42:​01'' ​                   | +|  \D{//​format//​} ​ | The date in the desired //format// (in ''​strftime''​ format) ((Not supported by Prompt Helper)) ​ |                                 
-|  \T          Time, 12-hour (''​+%l:​%M:​%S''​ format) ((''​date''​ command format)) ​            ​| ''​10:​42:​01'' ​                   | +|  \t              The time, 24-hour (''​+%k:​%M:​%S''​ format) ((''​date''​ command format)) ​              ​| ''​22:​42:​01'' ​                   | 
-|  \@          Time, 12-hour, with AM/PM (''​+%l:​%M %p''​ format) ((''​date''​ command format)) | ''​10:​42 PM''​ or ''​10:​42'' ​      | +|  \T              The time, 12-hour (''​+%l:​%M:​%S''​ format) ((''​date''​ command format)) ​              ​| ''​10:​42:​01'' ​                   | 
-|  \h          | The host name                                                                | ''​hostname'' ​                   | +|  \@              The time, 12-hour, with AM/PM (''​+%l:​%M%p''​ format) ((''​date''​ command format)) ​ | ''​10:​42 PM''​ or ''​10:​42'' ​      
-|  \H          | The full host name (with the domain name)                                    | ''​hostname.domain'' ​            | +|  \A              | The time, 24-hour (''​+%k:​%M''​ format) ((''​date''​ command format)) ​                 | ''​22:​42'' ​                      
-|  \j          | The number of suspended processes in the current shell (<​Ctrl>​+Z) ​           | ''​0'' ​                          | +|  \h              | The host name                                                                      | ''​hostname'' ​                   | 
-|  \l          | The name of the shell'​s terminal device ​                                     | ''​tty1''​ or ''​1'' ​              | +|  \H              | The full host name (with the domain name)                                          | ''​hostname.domain'' ​            | 
-|  \s          | The name of the shell executable ​                                            ​| ''​bash'' ​                       | +|  \j              | The number of suspended processes in the current shell (<​Ctrl>​+Z) ​                 | ''​0'' ​                          | 
-|  \u          | The current user name                                                        | ''​username'' ​                   | +|  \l              | The name of the shell'​s terminal device ​                                           | ''​tty1''​ or ''​1'' ​              | 
-|  \v          | The version of the shell (short) ​                                            ​| ''​4.1'' ​                        | +|  \s              | The name of the shell executable ​                                                  ​| ''​bash'' ​                       | 
-|  \V          | The version of the shell (with the patch level) ​                             | ''​4.1.5'' ​                      | +|  \u              | The current user name                                                              | ''​username'' ​                   | 
-|  \w          | The path of the working directory ​                                           | ''​~/​Documents''​ or ''/​usr/​bin''​ | +|  \v              | The version of the shell (short) ​                                                  ​| ''​4.1'' ​                        | 
-|  \W          | The name of the working directory ​                                           | ''​Documents''​ or ''​bin'' ​       | +|  \V              | The version of the shell (with the patch level) ​                                   | ''​4.1.5'' ​                      | 
-|  \!          | The current command number in the history ​                                   | ''​538'' ​                        | +|  \w              | The path of the working directory ​                                                 | ''​~/​Documents''​ or ''/​usr/​bin''​ | 
-|  \#          | The command number (from the start of the shell) ​                            ​| ''​42'' ​                         | +|  \W              | The name of the working directory ​                                                 | ''​Documents''​ or ''​bin'' ​       | 
-|  \$          | If the current user is root, displays a ''#'',​ else displays a ''​$'' ​        ​| ''​$''​ or ''#'' ​                 | +|  \!              | The current command number in the history ​                                         | ''​538'' ​                        | 
-|  \[          | Start a sequence of non-printing characters ​                                 |                                 | +|  \#              | The command number (from the start of the shell) ​                                  ​| ''​42'' ​                         | 
-|  \]          | End a sequence of non-printing characters ​                                   |                                 | +|  \$              | If the current user is root, displays a ''#'',​ else displays a ''​$'' ​              ​| ''​$''​ or ''#'' ​                 | 
-|  \a \\ \007  | The ASCII bell character ​                                                    ​|                                 | +|  \[              | Start a sequence of non-printing characters ​                                       |                                 | 
-|  \n          | Start a new line                                                             ​|                                 | +|  \]              | End a sequence of non-printing characters ​                                         |                                 | 
-|  \r          | Carriage return ​                                                             |                                 | +|  \a \\ \007      | The ASCII bell character ​                                                          ​|                                 | 
-|  ''​\''''​\'' ​ | A single backslash ​                                                          ​| ''​\'' ​                          | +|  \n              | Start a new line                                                                   ​|                                 | 
-|  \e \\ \033  | The ASCII ''​Escape''​ character. Used by some [[bash:​tip_customize_the_shell_prompt#​control_sequences_e_033_x1b|Control Sequences]] (see bellow) ​ | |+|  \r              | Carriage return ​                                                                   |                                 | 
 +|  ''​\''''​\'' ​     | A single backslash ​                                                                ​| ''​\'' ​                          | 
 +|  \e \\ \033      | The ASCII ''​Escape''​ character. Used by some [[bash:​tip_customize_the_shell_prompt#​control_sequences_e_033_x1b|Control Sequences]] (see bellow) ​ | |
  
  
Line 93: Line 105:
 ===== Links ===== ===== Links =====
  
-FIXME +  * [[bash:​tip_colors_and_formatting|Bash tips: Colors and formatting]] 
 +  * [[http://​www.gnu.org/​software/​bash/​manual/​bashref.html#​Printing-a-Prompt|Bash manual: Printing a prompt]] 
 +  * [[http://​www.funtoo.org/​wiki/​Prompt_Magic|Funtoo:​ Prompt magic]]
  
  
 
bash/tip_customize_the_shell_prompt.txt · Last modified: 2017/09/01 12:24 (external edit)