Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Terminal 如何重置/清除erlang终端_Terminal_Erlang_Reset - Fatal编程技术网

Terminal 如何重置/清除erlang终端

Terminal 如何重置/清除erlang终端,terminal,erlang,reset,Terminal,Erlang,Reset,我正在尝试重置提示,忘记所有变量并从第1行开始提示 我知道以下内置函数 f(). %% forget all io:format("\e[H\e[J"). %% "clear screen" and moving cursor to the begin of the line 但当我编写以下命令时,它确实忘记了所有变量,但它不会“重置”屏幕,只需清除屏幕,就像终端中的clear命令一样 在Linux中,我只需键入reset,但我找不到与erlan

我正在尝试重置提示,忘记所有变量并从第1行开始提示
我知道以下内置函数

f().                      %% forget all
io:format("\e[H\e[J").    %% "clear screen" and moving cursor to the begin of the line
但当我编写以下命令时,它确实忘记了所有变量,但它不会“重置”屏幕,只需清除屏幕,就像终端中的
clear
命令一样

在Linux中,我只需键入
reset
,但我找不到与erlang等效的命令或内置函数来执行此操作

我还尝试了
io:format(os:cmd(“reset”)。
但收到了错误


我现在的解决方案是退出erlang终端,然后重新打开它,但我相信有更简单的方法可以做到这一点

在类Unix系统上使用的大多数终端都支持VT100转义序列。您可以在程序中这样使用:

io:format("\ec").
而不是

虽然两者兼而有之也没什么坏处。而且,它不会影响变量,所以您仍然会这样做

f().                      %% forget all
结合这些:

f().                      %% forget all
io:format("\ec").
io:format("\e[H\e[J").    %% "clear screen" and moving cursor to the begin of the line
应该是您想要的。

一种有点棘手的方法是,只需按ctrl-g,然后按
s
c
启动一个新shell即可

$ erl
Erlang/OTP 18 [erts-7.3] [source-d2a6d81] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V7.3  (abort with ^G)
1> A = 1.
1
2>
User switch command
 --> s
 --> c
Eshell V7.3  (abort with ^G)
1> A.
* 1: variable 'A' is unbound
2>

当然,这并不能清除屏幕。为此,您必须使用自己的控制台机制(我在OSX上使用iTerm,为此我只需点击
cmd-k

正如前面提到的@Brujo Benavides。这样做的方法是退出当前的erl shell并启动一个新的。您可以使用
halt()。
函数,这一点不那么复杂

以清除erl外壳


io:format(os:cmd(clear))。

您可以使用
k
杀死原始外壳。所以它是^G k⏎ s⏎ C⏎.
$ erl
Erlang/OTP 18 [erts-7.3] [source-d2a6d81] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V7.3  (abort with ^G)
1> A = 1.
1
2>
User switch command
 --> s
 --> c
Eshell V7.3  (abort with ^G)
1> A.
* 1: variable 'A' is unbound
2>