什么是Mac操作系统上的Windows批处理文件?

时间:2016-01-31 15:00:22

标签: java windows macos batch-file

我将涉及ProcessBuilder和批处理文件的Java程序从Windows移植到Mac,而Windows特定的应用程序具有以下代码。

批处理文件如下:

@echo off
setlocal

start /wait java BatchWakeMeUpSomehow

if errorlevel 1 goto retry
echo Finished successfully
exit


:retry
echo retrying...
start /wait java BatchWakeMeUpSomehow

这是Java代码:

public class WakeMeUpSomehow {
    static class Message extends Thread {

        public void run() {
            try {

                while(true)
                {
                    System.out.println("Hello World from run");

                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    public static void main(String[] args) {
        try {
            Runtime.getRuntime().addShutdownHook(new Message());
            while(true)
            {
                System.out.println("Hello World");
                Thread.sleep(100);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

我需要的是 - 如何在Mac OS(基于Linux)上创建类似的批处理文件。我知道Mac上没有批处理文件。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我会使用类似如下的内容:

#!/bin/bash
name=$1
javac $name.java
java $name 
exitCode="${?}"
if [[ $exitCode==0 ]]; then
    echo "ok"
else echo "not ok"
fi

该脚本将java的名称作为参数,它编译并执行它。最后,它会在执行结束时为您提供结果状态。