我将涉及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上没有批处理文件。
非常感谢您的帮助。
答案 0 :(得分:1)
我会使用类似如下的内容:
#!/bin/bash
name=$1
javac $name.java
java $name
exitCode="${?}"
if [[ $exitCode==0 ]]; then
echo "ok"
else echo "not ok"
fi
该脚本将java的名称作为参数,它编译并执行它。最后,它会在执行结束时为您提供结果状态。