2.1.1 命令行参数

以下是 Octave 接受的命令行参数的完整列表。

--built-in-docstrings-file filename

指定包含 Octave 内置函数文档字符串的文件名。此值通常是正确的,仅在特殊情况下才需要指定。

--doc-cache-file filename

指定要使用的文档缓存文件的名称。在命令行上指定的 filename 值将覆盖环境中的 OCTAVE_DOC_CACHE_FILE 环境变量,但不会覆盖系统或用户启动文件中使用 doc_cache_file 函数的设置。

--echo-commands
-x

执行命令时回显命令本身。

--eval code
-e code

计算 code 并在完成后退出,除非同时指定了 --persist 选项。

--exec-path path

指定搜索要运行程序的路径。在命令行上指定的 path 值将覆盖环境中的 OCTAVE_EXEC_PATH 环境变量,但不会覆盖系统或用户启动文件中调用 EXEC_PATH 函数的设置。

--gui
-g

启动图形用户界面 (GUI)。

--help
-h

打印简短的帮助信息并退出。

--image-path path

将路径添加到图像搜索路径的开头。在命令行上指定的 path 值将覆盖环境中的 OCTAVE_IMAGE_PATH 环境变量,但不会覆盖系统或用户启动文件中调用 IMAGE_PATH 函数的设置。

--info-file filename

指定要使用的 info 文件的名称。在命令行上指定的 filename 值将覆盖环境中的 OCTAVE_INFO_FILE 环境变量,但不会覆盖系统或用户启动文件中使用 info_file 函数的设置。

--info-program program

指定要使用的 info 程序的名称。在命令行上指定的 program 值将覆盖环境中的 OCTAVE_INFO_PROGRAM 环境变量,但不会覆盖系统或用户启动文件中使用 info_program 函数的设置。

--init-trace

在初始化过程中,打印读取和执行的每个配置文件名称。

--interactive
-i

强制交互式行为。这对于通过远程 shell 命令或在 Emacs shell 缓冲区中运行 Octave 非常有用。

--line-editing

强制使用 readline 进行命令行编辑。

--no-gui
-G

禁用图形用户界面 (GUI) 并使用命令行界面 (CLI)。这是默认行为,但此选项可用于覆盖之前的 --gui 设置。

--no-history
-H

禁用命令行历史记录。

--no-init-all
--norc
-f

启动时不读取任何系统或用户初始化文件。这相当于同时使用 --no-site-file--no-init-user 选项。

--no-init-path

不初始化函数文件的搜索路径以包含默认位置。

--no-init-site

不读取站点范围的 octaverc 初始化文件。

--no-init-user

不读取用户初始化文件 ~/.octaverc.octaverc

--no-line-editing

禁用命令行编辑。

--no-window-system
-W

禁止使用窗口系统(包括图形界面)。这强制使用纯终端环境。

--path path
-p path

将路径添加到函数文件搜索路径的开头。在命令行上指定的 path 值将覆盖环境中的 OCTAVE_PATH 环境变量,但不会覆盖系统或用户启动文件中通过某个路径函数设置内部加载路径的命令。

--persist

在执行完 --eval 或读取命令行上指定的文件后进入交互模式。

--quiet
--silent
-q

启动时不打印通常的欢迎信息和版本信息。

--texi-macros-file filename

指定包含供 makeinfo 使用的 Texinfo 宏的文件名。

--traditional
--braindead

为了与 MATLAB 兼容,将用户偏好的初始值设置为以下值:

PS1                             = ">> "
PS2                             = ""
PS4                             = ""
beep_on_error                   = true
confirm_recursive_rmdir         = false
crash_dumps_octave_core         = false
optimize_diagonal_matrix        = false
optimize_permutation_matrix     = false
optimize_range                  = false
fixed_point_format              = true
history_timestamp_format_string = "%%-- %D %I:%M %p --%%"
print_struct_array_contents     = true
save_default_options            = "-mat-binary"
struct_levels_to_print          = 0

并禁用以下警告:

Octave:abbreviated-property-match
Octave:colon-nonscalar-argument
Octave:data-file-in-path
Octave:empty-index
Octave:function-name-clash
Octave:possible-matlab-short-circuit-operator

请注意,这不会启用 Octave:language-extension 警告。如果您希望在编写能在 Octave 但非 MATLAB 中运行的代码时得到提醒,可能需要启用该警告(参见 warningwarning_ids)。

--version
-v

打印程序版本信息并退出。

file

file 执行命令。执行完成后退出,除非同时指定了 --persist 选项。

Octave 还包含几个返回命令行相关信息的函数,包括参数数量和所有选项。

 
args = argv ()

返回传递给 Octave 的命令行参数。

例如,如果您使用以下命令调用 Octave:

octave --no-line-editing --quiet

argv 将返回一个字符串元胞数组,包含 --no-line-editing--quiet 元素。

如果您编写了一个可执行的 Octave 脚本,argv 将返回传递给该脚本的参数列表。参见 可执行 Octave 程序,了解如何创建可执行 Octave 脚本的示例。

另请参阅: program_namecmdline_options

 
opt_struct = cmdline_options ()

返回一个结构体,包含传递给 Octave 的命令行参数的详细信息。

编程说明:此函数提供了关于 Octave 解析命令行参数的大量信息,可能对调试 Octave 比一般使用更有用。

另请参阅: argvprogram_name

 
name = program_name ()

返回 program_invocation_name 返回值的文件名部分。

另请参阅: program_invocation_nameargv

 
name = program_invocation_name ()

返回在 shell 提示符下键入的用于运行 Octave 的字符串。

该字符串可能包含路径部分以及程序文件名。

如果从命令行执行脚本(例如 octave foo.m)或使用可执行的 Octave 脚本,程序名称将被设置为脚本的名称。参见 可执行 Octave 程序,了解如何创建可执行 Octave 脚本的示例。

另请参阅: program_nameargv

以下是使用这些函数来重现调用 Octave 的命令行的示例。

printf ("%s", program_name ());
arg_list = argv ();
for i = 1:nargin
  printf (" %s", arg_list{i});
endfor
printf ("\n");

关于如何从元胞数组中检索对象的说明,参见 索引元胞数组;关于变量 nargin 的信息,参见 定义函数


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-4