查看源码 c (stdlib v6.2)

命令行接口模块。

此模块允许用户输入一些常用命令的简短形式。

注意

这些函数仅用于 Erlang shell 中的交互式使用。可以省略模块前缀。

另请参阅

filename, compile, erlang, yecc, xref

摘要

函数

进程的堆栈回溯。等同于 erlang:process_display(Pid, backtrace)

作用类似于 c(Module, [])

编译,然后清除并加载模块的代码。Module 可以是模块名称或源文件路径,带有或不带有 .erl 扩展名。

编译,然后清除并加载模块 Module 的代码,该模块必须是一个原子。

将工作目录更改为 Dir,它可以是相对名称,然后打印新工作目录的名称。

搜索 PathList 并在找到时加载 .erlang 资源文件。

刷新发送到 shell 的任何消息。

打印 Module 的文档

打印所有 Module:Function 的文档(无论参数数量如何)。

打印 Module:Function/Arity 的文档。

打印 Module 的回调文档

打印所有 Module:Callback 的回调文档(无论参数数量如何)。

打印 Module:Callback/Arity 的回调文档。

显示帮助信息:所有有效的 shell 内部命令和此模块中的命令。

打印 Module 的类型文档

打印 ModuleType 的类型文档,无论参数数量如何。

打印 ModuleType/Arity 的类型文档。

i()

等同于 ni/0

显示有关进程的信息。等同于 process_info(pid(X, Y, Z)),但位置透明。

通过调用 code:purge(Module),然后调用 code:load_file(Module) 来清除和加载或重新加载模块。

通过为 Files 中的每个 File 调用 compile:file(File, [report_errors, report_warnings]) 来编译文件列表。

重新加载所有当前加载的、在磁盘上已更改的模块(请参阅 mm/0)。返回为每个这样的 M 调用 l(M) 的结果列表。

列出当前目录中的文件。

列出目录 Dir 中的文件,或者,如果 Dir 是一个文件,则仅列出该文件。

m()

显示有关已加载模块的信息,包括加载它们的源文件。

显示有关 Module 的信息。

内存分配信息。等同于 erlang:memory/0

内存分配信息。等同于 erlang:memory/1

列出所有已修改的模块。是 code:modified_modules/0 的简写。

等同于 nc/2

在所有节点上编译并加载文件的代码。Options 默认为 []。编译等同于

i/0 显示系统信息,列出有关所有进程的信息。ni/0 执行相同的操作,但针对网络中的所有节点。

在所有节点上加载 Module

等同于 regs/0

XYZ 转换为 pid <X.Y.Z>。此函数仅在调试时使用。

打印工作目录的名称。

q()

此函数是 init:stop() 的简写,即它使节点以受控方式停止。

regs/0 显示有关所有已注册进程的信息。nregs/0 执行相同的操作,但针对网络中的所有节点。

以人类可读的形式打印节点正常运行时间(由 erlang:statistics(wall_clock) 指定)。

通过调用 xref:m/1,在模块中查找未定义的函数、未使用的函数以及对已弃用函数的调用。

生成 LALR-1 解析器。等同于

生成 LALR-1 解析器。等同于

类型

链接到此类型

cmd_line_arg()

查看源码 (未导出)
-type cmd_line_arg() :: atom() | string().
链接到此类型

h_return()

查看源码 (未导出)
-type h_return() :: ok | {error, missing | {unknown_format, unicode:chardata()}}.
链接到此类型

hcb_return()

查看源码 (未导出)
-type hcb_return() :: h_return() | {error, callback_missing}.
链接到此类型

hf_return()

查看源码 (未导出)
-type hf_return() :: h_return() | {error, function_missing}.
链接到此类型

ht_return()

查看源码 (未导出)
-type ht_return() :: h_return() | {error, type_missing}.

函数

-spec bt(Pid) -> ok | undefined when Pid :: pid().

进程的堆栈回溯。等同于 erlang:process_display(Pid, backtrace)

-spec c(Module) -> {ok, ModuleName} | error when Module :: file:name(), ModuleName :: module().

作用类似于 c(Module, [])

-spec c(Module, Options) -> {ok, ModuleName} | error
           when
               Module :: file:name(),
               Options :: [compile:option()] | compile:option(),
               ModuleName :: module().

编译,然后清除并加载模块的代码。Module 可以是模块名称或源文件路径,带有或不带有 .erl 扩展名。

如果 Module 是一个字符串,则假定它是一个源文件路径,并且编译器将尝试使用选项 Options 编译源文件。如果编译失败,则删除旧的目标文件(如果有)。

如果 Module 是一个原子,则将查找具有该确切名称或带有 .erl 扩展名的源文件。如果找到,则使用选项 Options 编译源文件。如果编译失败,则删除旧的目标文件(如果有)。

如果 Module 是一个原子,并且不是源文件的路径,则会搜索代码路径以查找该模块的目标文件,并提取其原始编译器选项和源路径。如果未在原始位置找到源文件,则使用 filelib:find_source/1 相对于目标文件的目录搜索它。

使用追加到给定 Options 的原始选项编译源文件,只有在编译成功的情况下,输出才会替换旧的目标文件。

请注意,清除代码意味着在模块旧代码中徘徊的任何进程都会在没有警告的情况下被终止。有关详细信息,请参阅 code 模块。

链接到此函数

c(Module, Options, Filter)

查看源码 (自 OTP 20.0 起)
-spec c(Module, Options, Filter) -> {ok, ModuleName} | error
           when
               Module :: atom(),
               Options :: [compile:option()],
               Filter :: fun((compile:option()) -> boolean()),
               ModuleName :: module().

编译,然后清除并加载模块 Module 的代码,该模块必须是一个原子。

搜索代码路径以查找模块 Module 的目标文件,并提取其原始编译器选项和源路径。如果未在原始位置找到源文件,则使用 filelib:find_source/1 相对于目标文件的目录搜索它。

使用追加到给定 Options 的原始选项编译源文件,只有在编译成功的情况下,输出才会替换旧的目标文件。函数 Filter 指定从原始编译器选项中删除哪些元素,然后再添加新选项。Filter 函数应为要保留的选项返回 true,为要删除的选项返回 false

请注意,清除代码意味着在模块旧代码中徘徊的任何进程都会在没有警告的情况下被终止。有关详细信息,请参阅 code 模块。

-spec cd(Dir) -> ok when Dir :: file:name().

将工作目录更改为 Dir,它可以是相对名称,然后打印新工作目录的名称。

示例

2> cd("../erlang").
/home/ron/erlang
链接到此函数

erlangrc(PathList)

查看源码 (自 OTP 21.0 起)
-spec erlangrc(PathList) -> {ok, file:filename()} | {error, term()}
                  when PathList :: [Dir :: file:name()].

搜索 PathList 并在找到时加载 .erlang 资源文件。

-spec flush() -> ok.

刷新发送到 shell 的任何消息。

链接到此函数

h(Module)

查看源码 (自 OTP 23.0 起)
-spec h(module()) -> h_return().

打印 Module 的文档

链接到此函数

h(Module, Function)

查看源码 (自 OTP 23.0 起)
-spec h(module(), function()) -> hf_return().

打印所有 Module:Function 的文档(无论参数数量如何)。

链接到此函数

h(Module, Function, Arity)

查看源码 (自 OTP 23.0 起)
-spec h(module(), function(), arity()) -> hf_return().

打印 Module:Function/Arity 的文档。

链接到此函数

hcb(Module)

查看源码 (自 OTP 23.0 起)
-spec hcb(module()) -> h_return().

打印 Module 的回调文档

链接到此函数

hcb(Module, Callback)

查看源码 (自 OTP 23.0 起)
-spec hcb(module(), Callback :: atom()) -> hcb_return().

打印所有 Module:Callback 的回调文档(无论参数数量如何)。

链接到此函数

hcb(Module, Callback, Arity)

查看源码 (自 OTP 23.0 起)
-spec hcb(module(), Callback :: atom(), arity()) -> hcb_return().

打印 Module:Callback/Arity 的回调文档。

-spec help() -> ok.

显示帮助信息:所有有效的 shell 内部命令和此模块中的命令。

链接到此函数

ht(Module)

查看源代码 (自 OTP 23.0 起)
-spec ht(module()) -> h_return().

打印 Module 的类型文档

链接到此函数

ht(Module, Type)

查看源代码 (自 OTP 23.0 起)
-spec ht(module(), Type :: atom()) -> ht_return().

打印 ModuleType 的类型文档,无论参数数量如何。

链接到此函数

ht(Module, Type, Arity)

查看源代码 (自 OTP 23.0 起)
-spec ht(module(), Type :: atom(), arity()) -> ht_return().

打印 ModuleType/Arity 的类型文档。

-spec i() -> ok.

等同于 ni/0

-spec i(X, Y, Z) -> [{atom(), term()}]
           when X :: non_neg_integer(), Y :: non_neg_integer(), Z :: non_neg_integer().

显示有关进程的信息。等同于 process_info(pid(X, Y, Z)),但位置透明。

-spec l(Module) -> code:load_ret() when Module :: module().

通过调用 code:purge(Module),然后调用 code:load_file(Module) 来清除和加载或重新加载模块。

请注意,清除代码意味着模块中任何停留在旧代码中的进程都将被无警告地终止。有关更多信息,请参阅 code/3

-spec lc(Files) -> ok | error when Files :: [File :: cmd_line_arg()].

通过为 Files 中的每个 File 调用 compile:file(File, [report_errors, report_warnings]) 来编译文件列表。

有关 File 的信息,请参阅 file:filename/0

链接到此函数

lm()

查看源代码 (自 OTP 20.0 起)
-spec lm() -> [code:load_ret()].

重新加载所有当前加载的、在磁盘上已更改的模块(请参阅 mm/0)。返回为每个这样的 M 调用 l(M) 的结果列表。

-spec ls() -> ok.

列出当前目录中的文件。

-spec ls(Dir) -> ok when Dir :: file:name().

列出目录 Dir 中的文件,或者,如果 Dir 是一个文件,则仅列出该文件。

-spec m() -> ok.

显示有关已加载模块的信息,包括加载它们的源文件。

-spec m(Module) -> ok when Module :: module().

显示有关 Module 的信息。

-spec memory() -> [{Type, Size}] when Type :: atom(), Size :: non_neg_integer().

内存分配信息。等同于 erlang:memory/0

-spec memory(Type) -> Size when Type :: atom(), Size :: non_neg_integer();
            (Types) -> [{Type, Size}] when Types :: [Type], Type :: atom(), Size :: non_neg_integer().

内存分配信息。等同于 erlang:memory/1

链接到此函数

mm()

查看源代码 (自 OTP 20.0 起)
-spec mm() -> [module()].

列出所有已修改的模块。是 code:modified_modules/0 的简写。

-spec nc(File) -> {ok, Module} | error when File :: file:name(), Module :: module().

等同于 nc/2

-spec nc(File, Options) -> {ok, Module} | error
            when
                File :: file:name(),
                Options :: [Option] | Option,
                Option :: compile:option(),
                Module :: module().

在所有节点上编译并加载文件的代码。Options 默认为 []。编译等同于

compile:file(File, Options ++ [report_errors, report_warnings])
-spec ni() -> ok.

i/0 显示系统信息,列出有关所有进程的信息。ni/0 执行相同的操作,但针对网络中的所有节点。

-spec nl(Module) -> abcast | error when Module :: module().

在所有节点上加载 Module

-spec nregs() -> ok.

等同于 regs/0

-spec pid(X, Y, Z) -> pid() when X :: non_neg_integer(), Y :: non_neg_integer(), Z :: non_neg_integer().

XYZ 转换为 pid <X.Y.Z>。此函数仅在调试时使用。

-spec pwd() -> ok.

打印工作目录的名称。

-spec q() -> no_return().

此函数是 init:stop() 的简写,即它使节点以受控方式停止。

-spec regs() -> ok.

regs/0 显示有关所有已注册进程的信息。nregs/0 执行相同的操作,但针对网络中的所有节点。

链接到此函数

uptime()

查看源代码 (自 OTP 18.0 起)
-spec uptime() -> ok.

以人类可读的形式打印节点正常运行时间(由 erlang:statistics(wall_clock) 指定)。

-spec xm(module() | file:filename()) -> XRefMRet :: term().

通过调用 xref:m/1,在模块中查找未定义的函数、未使用的函数以及对已弃用函数的调用。

-spec y(file:name()) -> YeccFileRet :: term().

生成 LALR-1 解析器。等同于

yecc:file(File)

有关 File = name() 的信息,请参阅 filename。有关 YeccRet 的信息,请参阅 yecc:file/2

-spec y(file:name(), [yecc:option()]) -> YeccFileRet :: yecc:yecc_ret().

生成 LALR-1 解析器。等同于

yecc:file(File, Options)

有关 File = name() 的信息,请参阅 filename。有关 OptionsYeccRet 的信息,请参阅 yecc:file/2