使用 java 以编程方式启动 bash shell 命令 'osascript'

Programmatically launch bash shell command 'osascript' using java

我试过:

ProcessBuilder pb = new ProcessBuilder("osascript script.scpt");
pb.inheritIO();
pb.directory(new File("bin"));
try {
    pb.start();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

但我总是收到错误 "no such file or directory"。 我也尝试过:

Runtime.getRuntime().exec("osascript script.scpt");

但什么也没发生。

我也尝试在上面的两个片段中使用这个字符串,但没有任何改变。

osascript -e 'tell application \"Safari\" to quit' 

我可以使用这个解决问题

ProcessBuilder proc = new ProcessBuilder("osascript", "script.scpt");

这是因为没有标记化:假设 运行 的命令已经被标记化。