有时在Erlang Shell中,如果我输错了一个命令并按Enter,则Shell会转到命令的下一行(因为该命令将继续执行)(因此左侧的行号保持不变)。
例如,我刚才错误地(故意)键入1> $"X".
而不是1> $X.
。按下Enter键后,命令行仍然停留在1>
。我尝试键入.
后跟Enter,然后只是Enter来终止命令序列,但这是行不通的。尽管我已经尝试过,但是很难在google上找到它,因为难以置信的通用关键字会导致其他结果。
有没有一种方法可以中断该序列而不必完全使用Ctrl C退出外壳?重新启动外壳的麻烦是所有变量都丢失了。
您可以按Ctrl-g,进入“用户切换命令”此erlang的shell中断模式
提示将从>更改为--->。
在这种模式下
然后,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] 删除。
我来说两句