package jsr223.nativeshell.bash; import jsr223.nativeshell.NativeShell; import javax.script.ScriptEngineFactory; import java.io.File; public class Bash implements NativeShell { public ProcessBuilder createProcess(File commandAsFile) { return new ProcessBuilder("bash", commandAsFile.getAbsolutePath()); } public ProcessBuilder createProcess(String command) { return new ProcessBuilder("bash", "-c", command); } @Override public String getInstalledVersionCommand() { return "echo -n $BASH_VERSION"; } @Override public String getMajorVersionCommand() { return "echo -n $BASH_VERSINFO"; } @Override public ScriptEngineFactory getScriptEngineFactory() { return new BashScriptEngineFactory(); } @Override public String getFileExtension() { return ".sh"; } }