我想用 JShell 运行整个文件,例如:
$ jshell my-jshell-skript.java
my-jshell-skript.java
例如 my的内容在哪里40 + 2;
。
或者一个可执行文件,如:
#!/usr/bin/jshell
40 + 2
现在这可能吗,还是我仍然必须采用旧方法而不是 Java-Main-Class?
编辑 1:Windows 问题
在 Windows 上,我仍然没有解决方案:
C:\JDKs\jdk9.0.0.0_x64\bin>type foo.jsh
1 + 1
C:\JDKs\jdk9.0.0.0_x64\bin>jshell.exe foo.jsh
| Welcome to JShell -- Version 9
| For an introduction type: /help intro
jshell> /exit
| Goodbye
C:\JDKs\jdk9.0.0.0_x64\bin>
JShell 开始完全忽略我的文件。它是一个错误吗?
编辑 2:Windows 问题的解决方案
原来这是我的 foo 的内容。似乎1 + 1
只能“即时”工作,而不是从文件中读取:
C:\JDKs\jdk9.0.0.0_x64\bin>type foo.jsh
System.out.println("foo");
C:\JDKs\jdk9.0.0.0_x64\bin>jshell.exe foo.jsh
foo
| Welcome to JShell -- Version 9
| For an introduction type: /help intro
jshell> /exit
| Goodbye
C:\JDKs\jdk9.0.0.0_x64\bin>