#### 2.4.7 Customizing the Prompt

The following variables are available for customizing the appearance of the command-line prompts. Octave allows the prompt to be customized by inserting a number of backslash-escaped special characters that are decoded as follows:

‘`\t`’

  The time.

‘`\d`’

  The date.

‘`\n`’

  Begins a new line by printing the equivalent of a carriage return followed by a line feed.

‘`\s`’

  The name of the program (usually just ‘`octave`’).

‘`\w`’

  The current working directory.

‘`\W`’

  The basename of the current working directory.

‘`\u`’

  The username of the current user.

‘`\h`’

  The hostname, up to the first ‘.’.

‘`\H`’

  The hostname.

‘`\#`’

  The command number of this command, counting from when Octave starts.

‘`\!`’

  The history number of this command. This differs from ‘`\#`’ by the number of commands in the history list when Octave starts.

‘`\$`’

  If the effective UID is 0, a ‘`#`’, otherwise a ‘`$`’.

‘`\nnn`’

  The character whose character code in octal is nnn.

‘`\\`’

  A backslash.

Built-in Function: val = PS1 ()
Built-in Function: old_val = PS1 (new_val)
Built-in Function: PS1 (new_val, "local")

  Query or set the primary prompt string. When executing interactively, Octave displays the primary prompt when it is ready to read a command.

  The default value of the primary prompt string is `"octave:\#> "`. To change it, use a command like

      PS1 ("\\u@\\H> ")

  which will result in the prompt ‘`boris@kremvax>` ’ for the user ‘`boris`’ logged in on the host ‘`kremvax.kgb.su`’. Note that two backslashes are required to enter a backslash into a double-quoted character string. See Strings.

  You can also use ANSI escape sequences if your terminal supports them. This can be useful for coloring the prompt. For example,

      PS1 ("\\[\\033[01;31m\\]\\s:\\#> \\[\\033[0m\\]")

  will give the default Octave prompt a red coloring.

  When called from inside a function with the `"local"` option, the variable is changed locally for the function and any subroutines it calls. The original variable value is restored when exiting the function.

  See also: PS2, PS4.

Built-in Function: val = PS2 ()
Built-in Function: old_val = PS2 (new_val)
Built-in Function: PS2 (new_val, "local")

  Query or set the secondary prompt string. The secondary prompt is printed when Octave is expecting additional input to complete a command. For example, if you are typing a `for` loop that spans several lines, Octave will print the secondary prompt at the beginning of each line after the first. The default value of the secondary prompt string is `"> "`.

  When called from inside a function with the `"local"` option, the variable is changed locally for the function and any subroutines it calls. The original variable value is restored when exiting the function.

  See also: PS1, PS4.

Built-in Function: val = PS4 ()
Built-in Function: old_val = PS4 (new_val)
Built-in Function: PS4 (new_val, "local")

  Query or set the character string used to prefix output produced when echoing commands is enabled. The default value is `"+ "`. See Diary and Echo Commands, for a description of echoing commands.

  When called from inside a function with the `"local"` option, the variable is changed locally for the function and any subroutines it calls. The original variable value is restored when exiting the function.

  See also: echo, echo_executing_commands, PS1, PS2.