如何在Erlang Shell中退出多行命令序列?

约旦

有时在Erlang Shell中,如果我输错了一个命令并按Enter,则Shell会转到命令的下一行(因为该命令将继续执行)(因此左侧的行号保持不变)。

例如,我刚才错误地(故意)键入1> $"X".而不是1> $X.按下Enter键后,命令行仍然停留在1>我尝试键入.后跟Enter,然后只是Enter来终止命令序列,但这是行不通的。尽管我已经尝试过,但是很难在google上找到它,因为难以置信的通用关键字会导致其他结果。

有没有一种方法可以中断该序列而不必完全使用Ctrl C退出外壳?重新启动外壳的麻烦是所有变量都丢失了。

拜鲁哈夫

您可以按Ctrl-g,进入“用户切换命令”此erlang的shell中断模式

提示将从>更改--->

在这种模式下

  • 输入i中断您的Erlang会话
  • 然后键入c重新连接到它

然后,erlang shell将声明异常退出:被杀死,并返回到被卡住之前的状态。

~ → erl
Erlang/OTP 19 [erts-8.2] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

local recon loaded
local stdlib2 loaded
Eshell V8.2  (abort with ^G)
1> $"X".
1> l
1> .
1> .
1>
User switch command
 --> i
 --> c
** exception exit: killed
1> R=22.
22
2> $"X".
2>
User switch command
 --> i
 --> c
** exception exit: killed
2> b().
R = 22
ok
3>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章