2.4 启动shell
现在我们正式开始。shell是一个交互工具,我们长用他来完成与Erlang的互动。启动shell只后,我们可以输入表达式,然后shell就会返回这些表达式的值。
如果你已经安装好了Erlang,那么Erlang shell——erl也就同时安装好了。要运行他,请开启一个传统的操作系统命令行界面(Windows上是cmd,而Unix的系统上则是bash这样的shell程序)。在命令提示符下,输入erl来启动Erlang shell:
我用的是Windows操作系统 |
erl
Eshell V5.6.5 (abort with ^G)
1>%欢迎进入Erlang世界!
1>20+30.
50
2>
让我们看看刚才做的动作。
①这是在Windows系统下启动Erlang shell。shell返回了一个提示, Eshell V5.6.5 (abort with ^G),告诉你正在运行的是哪个版本的Erlang。
②shell显示了行提示符1>,然后我们输入了一串字符,百分号(%)表示一个注释行的开始。%号后面这一行的数字都将被注释。我们在%后面输入了“欢迎进入Erlang世界!”。
③由于我们没有输入一个完整的命令,所以shell重复显示1>(有的系统可能不会,不过这并不要紧)。在此时,我们输入表达式20+30. 然后回车(初学者往往会忘记输入 这个.,没有这个点,Erlang就认为我们还没有输入完整的表达式,我们也不会看到显示结果)。
④shell对表达式进行求值,然后打印结果(这里的结果是50)。
⑤shell打印出另外一行提示符,这次显示命令行数为2(命令行数会随着每次命令的输入而增加)。
现在你就可以放下书去试一下你的Erlnag shell,你可以多输入几个表达式。实践还是很有趣的也很有用的哦。就算是有经验的Erlnag程序员也是要花上大把的时间和shell打交道的。
随着时间的积累你会发现shell其实是一个非常强大工具。之前录入的shell的命令可以用Ctrl+P和Ctrl+N找回来。也能用类似Emacs的编辑命令来编辑他们。这些话题我们会留在6.5节中继续讨论。更妙的是,当开始编写分布式的程序时,一个集群内会有许多正运行着Erlang系统的节点,你将发现可以将shell随意地附着到他们中的任何一个上。你甚至可以用安全shell(ssh)向一个运行着Erlang系统的远程计算机发起一个直接连接。通过种种方法,在Erlang的节点集群中,你能与其中的任何一个节点上的任意一个程序打交道。
警告: 本书之中,也并不是所有的东西都能够输入shell。特别要注意的是,你不能往shell里面输入Erlang文件中的代码。.erl文件中的句法形式不是表达式,他不能被shell所接受哦。shell仅仅能够对Erlang表达式求值,除此之外的其他事情,他都做不了。另外需要特别注意的是,你不能在shell中输入模块注解,这些注解以连字号开始(比如 -module、-export等)。 |
本章剩余的部分依然会采用这种“与Erlang shell进行数次短小对话”的形式。为了部破坏行文,很多时候,我解释全部的细节,这些内容会在5.4节中补充说明。