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.

: val = PS1 ()
: old_val = PS1 (new_val)
: 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.

: val = PS2 ()
: old_val = PS2 (new_val)
: 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.

: val = PS4 ()
: old_val = PS4 (new_val)
: 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, PS1, PS2.

© 1996–2020 John W. Eaton
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://octave.org/doc/v6.3.0/Customizing-the-Prompt.html