退出带有错误代码的 jshell
Exit jshell with error code
我如何 /exit
一个 jshell 具有非零错误代码的会话?
/exit
产量:进程已完成,退出代码为 0
/exit 1
产生:进程已完成,退出代码为 0
throw new Error("1")
产生:java.lang.Error 抛出:1 at (#24:1)` 并且进程以退出代码 0 结束
System.exit(1)
产生:状态引擎已终止。使用以下命令恢复定义:/reload -restore ... 并且 jshell 会话不会终止。
像 set -e
这样的 bash 命令不可用。
现在,JShell 随 JDK 10 一起发布,后来又引入了一个新版本的 /exit
,它采用可选代码段作为参数。该片段被评估为将返回给调用进程的错误代码。有关详细信息,请参阅 http://mail.openjdk.java.net/pipermail/kulla-dev/2017-November/002129.html。
这是使用 jdk-10+ea-33 的新 /exit
命令的帮助文本:
| Welcome to JShell -- Version 10
| For an introduction type: /help intro
jshell> /help exit
|
| /exit
|
| Leave the jshell tool. No work is saved.
| Save any work before using this command
|
| /exit
| Leave the jshell tool. The exit status is zero.
|
| /exit <integer-expression-snippet>
| Evaluate the snippet. If the snippet fails or is not an integer expression,
| display the error. Otherwise leave the jshell tool with the
| value of the expression as the exit status
jshell> /exit 123
| Goodbye (123)
JDK9注意事项:您不能使用/exit
退出JDK上的jshell会话9 带有非零错误代码。有关详细信息,请参阅 https://bugs.openjdk.java.net/browse/JDK-8185840。
我如何 /exit
一个 jshell 具有非零错误代码的会话?
/exit
产量:进程已完成,退出代码为 0/exit 1
产生:进程已完成,退出代码为 0throw new Error("1")
产生:java.lang.Error 抛出:1 at (#24:1)` 并且进程以退出代码 0 结束
System.exit(1)
产生:状态引擎已终止。使用以下命令恢复定义:/reload -restore ... 并且 jshell 会话不会终止。
像 set -e
这样的 bash 命令不可用。
现在,JShell 随 JDK 10 一起发布,后来又引入了一个新版本的 /exit
,它采用可选代码段作为参数。该片段被评估为将返回给调用进程的错误代码。有关详细信息,请参阅 http://mail.openjdk.java.net/pipermail/kulla-dev/2017-November/002129.html。
这是使用 jdk-10+ea-33 的新 /exit
命令的帮助文本:
| Welcome to JShell -- Version 10
| For an introduction type: /help intro
jshell> /help exit
|
| /exit
|
| Leave the jshell tool. No work is saved.
| Save any work before using this command
|
| /exit
| Leave the jshell tool. The exit status is zero.
|
| /exit <integer-expression-snippet>
| Evaluate the snippet. If the snippet fails or is not an integer expression,
| display the error. Otherwise leave the jshell tool with the
| value of the expression as the exit status
jshell> /exit 123
| Goodbye (123)
JDK9注意事项:您不能使用/exit
退出JDK上的jshell会话9 带有非零错误代码。有关详细信息,请参阅 https://bugs.openjdk.java.net/browse/JDK-8185840。