如何以非零退出状态退出 Forth?

Chr*_*jer 5 forth gforth

我想以非零退出状态退出 Forth 程序(使用 Gforth 0.7.3)。

我试过了:

1 bye
Run Code Online (Sandbox Code Playgroud)

但 1 不会被解释为 的参数bye(而且我也没想到这会起作用;我在文档中找不到任何bye接受参数的提示)。

请注意,我不想触发异常,因为这也会打印错误消息(除非有办法从 Forth 程序本身中抑制异常的错误消息)。

那么,如何将 Forth 程序退出回托管环境/操作系统并提供非零退出状态?(基本上,我正在寻找return EXIT_FAILURE; // from main()(C) 或exit(EXIT_FAILURE);(C) 或System.exit(1);(Java) 的等效项。)

ruv*_*vim 7

在 Gforth 中,内部字(bye) ( n -- )可用于将退出状态返回给操作系统。

例如,Bash 中的以下命令:

gforth -e '123 (bye)' ; echo $?
Run Code Online (Sandbox Code Playgroud)

打印“123”。

一般来说,返回非零退出状态的方法尚未标准化。