2

我正在寻找使用 jshell 替换 bash 进行命令行处理。

我在文件 fs.jsh 中创建了一个简单的类 fs(是的,命名很糟糕),它具有许多实用功能,例如:

// file fs.jsh
class fs
{
    static void println(String line)
    {
         System.out.println(line);
    }
}

我知道想从另一个文件中包含 fs.jsh:例如

// helloworld.jsh
import fs.jsh

fs.println("Hello World");

上面的代码给出了错误:

package fs does not exist
|  import fs.jsh;

我也试过:

import fs;

这使:

Error:
|  '.' expected
|  import fs;

那么如何从另一个导入一个脚本文件。

4

1 回答 1

2

您可以确保的一件事是在访问其方法之前创建该类的实例:

new fs().println("Hello World");

另外,如果一个依赖于另一个的代码,请确保脚本执行的顺序是固定的。

脚本按照在命令行中输入的顺序运行。命令行脚本在启动脚本之后运行。要在 JShell 启动后运行脚本,请使用该/open命令。

此外,import没有包没有多大意义,你不能package在 Jshell 片段中有 s。

你可以这样做的方式有点像:

  1. 拥有一个脚本文件some.jsh

在此处输入图像描述

  1. sometwo.jsh另一个调用它的脚本文件

在此处输入图像描述

  1. 最后打开脚本sometwo.jsh

在此处输入图像描述

于 2017-11-23T08:29:03.890 回答