如何让java在Mac上运行终端命令?(回音命令)

问题描述 投票:0回答:1

如何让java在Mac上运行命令?我看到一些复杂的命令的例子,是很难遵循的。如果我想从java中运行一个简单的echo命令,我该怎么做?还没有使用osascript。只是想看看如何从java发送回声到终端。

public static void main(String[] args) throws IOException {
    ProcessBuilder x = new ProcessBuilder("echo"," hi");
    x.start();
}

这是我试过的代码,但它没有工作.我想这个问题可以帮助那些试图学习ProcessBuilder基础知识的人。

java macos terminal processbuilder
1个回答
0
投票

我在Windows上,所以下面的代码使用Windows echo. 我希望你知道Mac echo命令,这样你就可以用你的命令代替我的命令。

import java.io.IOException;
import java.lang.ProcessBuilder;

public class PrcBldT2 {

    public static void main(String[] args) {

        // This command is for Windows operating system.
        // For MacOS, try: new ProcessBuilder("echo", "hi")
        ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/c", "echo", "hi");

        pb.redirectError(ProcessBuilder.Redirect.INHERIT);
        pb.redirectOutput(ProcessBuilder.Redirect.INHERIT);
        try {
            Process p = pb.start();
            int result = p.waitFor();
            System.out.println("Exit status = " + result);
        }
        catch (IOException | InterruptedException x) {
            x.printStackTrace();
        }
    }
}

注意,命令中的每个字都是一个独立的字符串。在 echo 命令输出将被重定向到 System.out.

© www.soinside.com 2019 - 2024. All rights reserved.