写点什么

Java 在 Mac 里启动一个新的 Terminal

作者:IT蜗壳-Tango
  • 2023-01-12
    江苏
  • 本文字数:580 字

    阅读完需:约 2 分钟

Java在Mac里启动一个新的Terminal

最近在工作中遇到了一个需求,Java 代码需要在运行时打开一个新的命令行窗口并运行一些列的命名。以下是我的解决方案,在此写一个记录作为备忘,同时也希望对你有所帮助。


首先我们需要判断当前代码运行的平台是 Windows 还是 Mac

boolean isWindows = System.getProperty("os.name").toLowerCase().startsWith("windows");if(isWindows){	// windows 的执行方式}else{	// Mac的执行方式}
复制代码

上面的代码不是很严谨,这里只要是 Windows 外,我都认为它是 Mac,其实还有一种是 Linux,因为我们没有 Linux 的使用场景,因此这里就省略了 Linux 的判断。


在判断好了运行系统后,接下来就是该如何实现新启动一个命令行工具了,在 Windows 我们新启动一个 CMD,在 Mac 我们打算新启动一个 Terminal。

具体实现代码如下:

if (isWindows) {  cmd.setCmd("cmd");  cmd.writeCmd("start cmd /c cd ");  System.out.println(cmd.readCmd());} else {  String script = "tell application \"Terminal\"";  script += "\n do script \"cd ~/Desktop\"";  script += "\n end tell";  ProcessBuilder pb = new ProcessBuilder("osascript", "-e", script);  pb.inheritIO();
try { pb.start(); } catch (IOException e) { System.out.println(e.getMessage()); }}
复制代码


今天的内容就是这些,希望对你有所帮助,

我是 Tango,一个热爱分享技术的程序猿,我们下期见。

发布于: 刚刚阅读数: 5
用户头像

一个日语专业的程序猿。 2017-09-10 加入

【坐标】无锡 【软件技能】Java,C#,Python 【爱好】炉石传说 【称号】InfoQ年度人气作者,Intel OpenVINO领航者联盟成员 【B站】https://space.bilibili.com/397260706/ 【个人站】www.it-worker.club

评论

发布
暂无评论
Java在Mac里启动一个新的Terminal_IT蜗壳教学_IT蜗壳-Tango_InfoQ写作社区