erlang shell 是在命令行模式下使用命令和 erlang 交互的工具。erlang shell功能十分强大,可以直接编译、加载、执行、调试模块等等,完全可以将shell做为erlang项目的终端使用。文章将对erlang shell 命令做介绍,还简单以示例说明。
打开erlang shell的帮助信息,在这里变成中文了。同时可以看下官方文档
shell 函数帮助
Eshell V5.10.2 (abort with ^G) 1> help(). ** shell 内置命令 ** b() -- 显示所有绑定的变量 e(N) -- 重复某次查询 <N> f() -- 释放所有绑定的变量 f(X) -- 释放某个绑定的变量 h() -- 显示之前的操作 history(N) -- 设置保存之前操作命令的条数 results(N) -- 设置保存之前操作结果的条数 catch_exception(Bool) -- 设置的执行过程中的异常处理 v(N) -- 使用某次查询的值 <N> rd(R,D) -- 定义一个 record rf() -- 移除所有 record rf(R) -- 移除某个 record rl() -- 显示所有 record rl(R) -- 显示某个 record 信息 rp(Term) -- 显示某个元组的所有内容 rr(File) -- 从一个文件或模块读取 record 定义 ** c 模块命令 ** bt(Pid) -- 显示一个进程的栈回溯 c(File) -- 编译及重新加载模块 cd(Dir) -- 改变工作目录 flush() -- 刷新信箱(以便shell接收信息) help() -- 帮助信息 i() -- 显示系统信息 ni() -- 和 i() 一样显示系统信息,还包括网络节点的系统信息 i(X,Y,Z) -- 通过 pid <X,Y,Z> 获取某个进程的信息 l(Module) -- 加载或重新加载模块 lc([File]) -- 编译一个列表的 Erlang 模块 ls() -- 显示当前工作目录下的文件列表 ls(Dir) -- 显示某个目录下的文件列表 m() -- 显示已加载进系统的模块 m(Mod) -- 显示某个模块信息 memory() -- 显示内存分配信息 memory(T) -- 显示某项内存分配信息 <T> nc(File) -- 在所有节点编译及加载模块 nl(Module) -- 在所有节点重新加载模块 pid(X,Y,Z) -- 通过 pid <X,Y,Z> 获取某个进程 pid pwd() -- 显示当前工作目录 q() -- 关闭 erlang shell regs() -- 显示注册过的进程信息 nregs() -- 和 regs() 一样显示注册过的进程信息,还包括网络节点的进程信息 xm(M) -- 查找某个模块未定义的函数,未使用的函数,已弃用的函数 y(File) -- 编译 Yecc 文件(.yrl) ** i 模块命令 ** ih() -- 显示 i 模块的帮助信息 true