`
cwqcwk1
  • 浏览: 86955 次
文章分类
社区版块
存档分类
最新评论

erlang shell 命令中文使用说明

 
阅读更多

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

shell 函数说明

1、显示绑定变量

b() -- 显示所有绑定的变量

1> [A,B,C] = [1,2,3].
[1,2,3]
2> b().
A = 1
B = 2
C = 3
ok

2、重复查询

e(N) -- 重复某次查询

3> e(1).
[1,2,3]

3、释放绑定变量

f() -- 释放所有绑定的变量
f(X) -- 释放某个绑定的变量

4> A.
1
5> f(A).
ok
6> A.
* 1: variable 'A' is unbound
7> B.
2
8> f().
ok
9> B.
* 1: variable 'B' is unbound
10> C.
* 1: variable 'C' is unbound

4、使用查询结果

v(N) -- 使用某次查询的值

11> A1 = v(4).
1
12> A1.
1

5、record 操作

rd(R,D) -- 定义一个 record
rf() -- 移除所有 record
rf(R) -- 移除某个 record
rl() -- 显示所有 record
rl(R) -- 显示某个 record 信息

13> rd(person, {name, age, address, salary, children}).
person
14> rd(child, {name, age}).
child
15> rl().
-record(child,{name,age}).
-record(person,{name,age,address,salary,children}).
ok
16> rl(child).
-record(child,{name,age}).
ok

6、显示元组内容

rp(Term) -- 显示某个元组的所有内容

erlang shell会自动省略内容太长的元组,使用rp命令可以完整显示出来

17> lists:seq(1,50).
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,
 23,24,25,26,27,28,29|...]
18> rp(lists:seq(1,50)).
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,
 23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,
 43,44,45,46,47,48,49,50]
ok

7、工作目录

cd(Dir) -- 改变工作目录

pwd() -- 获取工作目录

19> pwd().
d:/tmp
ok
20> cd("d:/").
d:/
ok
21> pwd().
d:/
ok

8、进程操作

self() -- 获取当前进程 pid

pid(X,Y,Z) -- 通过 pid <X,Y,Z> 获取某个进程 pid
exit(Pid) -- 杀死某个进程
catch_exception(Bool) -- 设置的执行过程中的异常处理
22> self().
<0.31.0>
23> catch_exception(false).
true
24> exit(pid(0,31,0)).
** exception exit: <0.31.0>
25> self().
<0.33.0>
26> catch_exception(true).
false
27> exit(pid(0,33,0)).
* exception exit: <0.33.0>
28> self().
<0.33.0>


分享到:
评论

相关推荐

    erlang 中文基础教程

    在Erlang Shell中,使用`c(module_name).`命令编译指定的模块,如`c(tut).`。若编译成功,会返回`{ok,module_name}`的信息;若编译失败,系统会给出错误报告,帮助开发者定位并修正问题。 通过以上介绍,我们可以...

    erlang中文基础教程

    "Erlang中文基础教程" Erlang 编程语言是一种功能强大且灵活的编程语言,它提供了一个交互式的 shell 环境,允许用户在其中编写和运行代码。 Erlang Shell 是一个命令行交互环境,类似于 UNIX 和 LINUX 系统的...

    kjell:Erlang Shell

    了解并熟练使用Erlang Shell对于学习和开发Erlang项目至关重要。它不仅是测试代码的场所,还是一个强大的工具,可以帮助开发者深入理解Erlang的语言特性和并发模型。在`kjell-master`这个压缩包中,可能包含的是`...

    21天erlang

    安装完成后,使用werl命令进入Erlang的Shell。 2. Erlang Shell的界面: - 打开Erlang Shell后,会依次显示Erlang的版本信息、一个空行和Shell的版本信息。这些信息在每次打开Shell时都会出现。 3. 如何在Erlang ...

    Erlang编程中文学习手册.pdf

    用户可以在不同的操作系统中运行Erlang Shell,通过输入命令`erl`启动。Erlang Shell会在命令行中提供一个提示符,用户可以在其后输入Erlang代码表达式。例如,用户可以输入算术表达式,如`2+5.`,然后按回车执行,...

    erlang 环境配置文档说明

    接下来,在命令行中启动Erlang shell,使用以下命令: 1. **更改工作目录**: ```bash cd("E:/ErlangWord/MyErlang/src") ``` 确认当前目录已切换至`Test.erl`文件所在位置。 2. **编译模块**: ```bash c...

    erlang安装设置.docx

    - **Linux平台**:通常可以通过包管理器来安装Erlang,例如在Ubuntu上使用`sudo apt-get install erlang`命令进行安装。 - **MacOS平台**:可以通过Homebrew安装Erlang,命令为`brew install erlang`。 #### 3. ...

    Erlang Windows 64位 安装包

    3. 验证安装:安装完成后,可以在命令行输入"erl"来启动Erlang shell,如果出现Erlang的欢迎信息,说明安装成功。 Erlang与RabbitMQ的关系:RabbitMQ是一个开源的消息代理和队列服务器,广泛用于处理异步任务和实现...

    Erlang中文手册.pdf

    - **1.2.6 标准模块及用户手册**:提供了常用模块的介绍和使用说明。 - **1.2.7 将输出写到终端上**:介绍如何将输出打印到控制台。 - **1.2.8 一个更大的例子**:通过一个完整的例子展示Erlang的编程方式。 - **...

    Erlang程序设计中文版

    **Erlang程序设计中文版**是一本深入探讨Erlang编程语言的书籍,旨在帮助开发者理解和掌握这种在并发处理和分布式系统中广泛使用的语言。Erlang以其强大的错误恢复能力、热代码替换以及对大规模并发的支持而闻名,是...

    rabbitMQ和erlang安装包及详细图文操作说明书文档

    3. **验证安装**: 安装完成后,打开命令提示符并输入`erl`,如果出现Erlang shell(如`Eshell V17.3`),则表明Erlang已成功安装。 **RabbitMQ安装步骤** 1. **下载**: 获取适用于Windows_x64的RabbitMQ安装包,...

    erlang_版本24.3.4.4

    - **Erlang shell(REPL)**:交互式环境,用于测试和调试代码。 - **Erlang的数据类型**:包括原子(atom)、整数、浮点数、字符串、列表、元组、位串等。 - **Pattern Matching**:Erlang的匹配操作符`=`允许在...

    homelander:由ErlangOTP支持的简单shell命令监视

    《Homelander:Erlang OTP支持下的简单Shell命令监控》 在IT行业中,系统监控是维护稳定运行的关键环节,而Homelander是一款基于Erlang OTP(Open Telecom Platform)框架构建的简单shell命令监控工具。它允许用户...

    erlang程序设计中文版

    Erlang的流行说明了在特定领域,对于特定问题,有其独特的价值和优势。 在本书的前言中,还提到了Erlang的年龄,它与Perl语言诞生的年份相近,比C++年轻,但比Java年长。尽管如此,Erlang的活跃度和影响力在一段...

    erlang资源

    5. **REPL(Read-Eval-Print Loop)**:Erlang shell的使用,它是学习和测试Erlang代码的重要工具。 6. **实际应用案例**:可能包含Erlang在实时系统、网络通信、数据库或Web服务等领域的应用示例。 这两本书结合...

    centos6下离线安装erlang所需要的所有rpm包

    - 安装完成后,运行`erl`命令来启动Erlang shell。如果能正常启动且无错误提示,说明Erlang已成功安装。 7. **配置与优化**: - 根据实际需求,你可能还需要配置Erlang的环境变量,比如将`/usr/lib64/erlang/bin`...

    Erlang_win64_24.1.rar

    安装完成后,用户可以通过命令行检查Erlang是否成功安装,可以输入`erl`启动Erlang shell,如果出现Erlang的欢迎信息,说明安装成功。同时,Erlang的版本信息可以通过在shell中输入`erlang:system_info(version)`来...

Global site tag (gtag.js) - Google Analytics