提示符號(Prompt)
Octave 預設的提示符號是 octave:##>,## 代表行號,Octave 允許使用者自訂提示符號,以下是一些可以用在自訂提示符號的變數:
\t:時間。\d:日期。\n:Begins a new line by printing the equivalent of a carriage return followed by a line feed.\s:Octave 程式名稱,通常是 “octave”。\w:目前的工作目錄名稱。\W:不含路徑的目前工作目錄名稱。\u:目前的使用者名稱。\h:簡短的主機名稱。\H:完整的主機名稱。\#:行號,從開啟 Octave 時開始計算。\!:指令紀錄中的行號,與 \# 的差異在於 Octave 開啟時所載入的指令紀錄行數。\$:若 UID 為 0,則顯示 #,否則顯示 $。\nnn:以八進位 nnn 指定字元。\\:顯示反斜線。
Octave 的提示符號可以透過下列函數查詢與變更:
val = PS1() old_val = PS1(new_val)
PS1() 用來查詢或設定 Octave 主要的提示符號,當 Octave 準備好可以讓使用者輸入指令時,就會顯示主要提示符號,預設是 "\s:\#> ",若要更改則使用 new_val 參數指定新的提示符號,例如:
PS1 ("\\t[\\#]> ")
這會將提示符號更改為類似 15:48:46[20]> 這個樣子。
若是使用雙引號輸入反斜線,則需要將反斜線重複一次,若是使用單引號則不需要,例如:
PS1 ('\t[\#]> ')。val = PS2() old_val = PS2(new_val)
PS2() 用來查詢或設定 Octave 次要的提示符號,當使用者無法在一行會輸入所有的指令時,第二行之後的提示符號會顯示次要提示符號,更改方式與 PS1() 類似,預設為 ">"。
val = PS4() old_val = PS4(new_val)
PS4() 用來查詢或設定 echo 輸出的前置字元(prefix),主要用於 echo 指令,預設是 "+ "。
Diary 與 Echo
Octave 的 diary 功能可以將使用者所有的操作紀錄至檔案中,包含所有的輸入的指令與輸出的結果:
diary options
diary 指令可以將所有輸入的指令與其所產生的輸出訊息記錄至檔案中,就像螢幕上所看到的一樣,可用的參數有:
on:開始紀錄。off:停止紀錄。file:檔案名稱。
有時候我們會想看 Octave 執行到函數或指令稿(script)中的哪一個部分,例如在除錯的時候,可以使用 echo 函數:
echo options
echo 可設定使否顯示函數或指令稿(script)中正在執行的指令,可用的參數有:
on:開啟指令稿的顯示功能。off:關閉指令稿的顯示功能。on all:開啟函數與指令稿的顯示功能。off all:關閉函數與指令稿的顯示功能。
val = echo_executing_commands () old_val = echo_executing_commands (new_val)
查詢或設定 Octave 內部用來控制 echo 的變數,此數值可以是以下數值任意的總和:
1:顯示從指令稿檔案(script files)中讀取而執行的指令。2:顯示在函數中執行的指令。4:顯示從指令列讀取而執行的指令。
例如要開啟函數與指令稿的顯示功能(即 echo on all),則將此數值設定為 3(1 + 2)
echo_executing_commands (3)
事實上此變數是依照第幾個位元被設定而決定哪個功能被開啟,
1 的二進位是 001b(第一個位元被設定),2 是 010b(第二個位元被設定),3 則是 100b(第三個位元被設定)。而 1 + 2 = 3,是 011b(第一個與第二個位元被設定)。