Erlang Shell

Erlang Shell Common Command

Shell Function

Function Desc
help() 打印可使用的Shell函数
c(File) 编译File并加载
l(Module) 加载OR重新加载Module
lc([File...]) 编译FileList
nc(File) 在全部节点(node)上,编译File并加载
nl(Module) 在全部节点(node)上,加载Module
m() 打印已加载的模块列表
m(Module) 打印模块详细信息
pid(X, Y, Z) 将XYZ转化为Pid<X.Y.Z>
h() (history)打印之前使用过的命令
history(N) 设置保存历史执行记录的条数Default = 20
v(N) 取出第N提示符对应的结果
results(N) 设置保存历史结果记录的条数Default = 20
cd(Dir) 更改当前目录(Dir应是双引号字符串)
ls() 打印当前目录内容
ls(Dir) 打印Dir目录内容(Dir应是双引号字符串)
pwd() 打印当前工作目录
q() 退出Shell(同init:stop())
i() 打印当前系统的运行时信息
memory() 打印内存使用信息
b() 打印Shell中全部变量绑定
e(N) 重复第N提示符的命令
f() 清空Shell中全部变量绑定
f(X) 清空Shell中X变量绑定
catch_exception(Bool) Bool = true | false [default = false]当设置为true时,在Shell中执行命令报错崩溃,Shell的Pid不会改变
rd(R, D) 定义一个RecordR = record_name_atom, D = {key1 = DefaultVal1, key2 = DefaultVal2...}
rf() 清空Shell中定义的Record
rf(R) 清空Shell中定义的名字为R的Record
rl() 打印出Shell中定义的全部Record
rl(R) 打印出Shell中定义的名字为R的Record
rp(X) 打印X的全部内容(不会省略信息)
rr(File) 导入文件File中定义的RecordFile = "../x/xx.hrl"
rr(File, R) 导入文件File中定义的名字为R的Record
rr(File, R, Option) 导入File中的定义Option = {i, Dir} | {d, Macro} | {d, Macro, Value}if R == _ {导入File中的全部定义}

BREAK Mode

类UNIX系统下,使用Ctrl-C唤出BREAK菜单;
Windows系统下,使用Ctrl-Break唤出BREAK菜单。

1
2
BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
(v)ersion (k)ill (D)b-tables (d)istribution

a退出系统,硬停机
c返回Shell
v打印当前Erlang版本

JCL(job control) Mode

使用Ctrl-G唤出命令菜单

1
2
3
4
5
6
7
8
9
10
11
User switch command
-->
c [nn] - connect to job
i [nn] - interrupt job
k [nn] - kill job
j - list all jobs
s [shell] - start local shell
r [node [shell]] - start remote shell
q - quit erlang
? | h - this message

c连接到指定Id的Job
i打断指定Id的Job,并不会kill process,可用于终止死循环
kKill指定Id的Job
j打印全部Job
s新建一个Job,默认是Erlang Shell
r新建一个远程Job,可用于链接远程节点
q退出系统,硬停机
? | h打印帮助信息