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)
: old_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)
: old_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)
: old_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.