diff --git a/core/src/main/java/io/xpipe/core/process/ShellProcessControl.java b/core/src/main/java/io/xpipe/core/process/ShellProcessControl.java index 25ee18a72..bf3a7f8ed 100644 --- a/core/src/main/java/io/xpipe/core/process/ShellProcessControl.java +++ b/core/src/main/java/io/xpipe/core/process/ShellProcessControl.java @@ -64,8 +64,8 @@ public interface ShellProcessControl extends ProcessControl { SecretValue getElevationPassword(); default ShellProcessControl subShell(@NonNull ShellType type) { - return subShell(p -> type.openCommand(), (shellProcessControl, s) -> { - return s == null ? type.openCommand() : type.switchTo(s); + return subShell(p -> type.getNormalOpenCommand(), (shellProcessControl, s) -> { + return s == null ? type.getNormalOpenCommand() : type.executeCommandWithShell(s); }) .elevation(getElevationPassword()); } diff --git a/core/src/main/java/io/xpipe/core/process/ShellType.java b/core/src/main/java/io/xpipe/core/process/ShellType.java index 56bd0e430..0f812d9c6 100644 --- a/core/src/main/java/io/xpipe/core/process/ShellType.java +++ b/core/src/main/java/io/xpipe/core/process/ShellType.java @@ -20,7 +20,7 @@ public interface ShellType { String createInitFileContent(String command); - String getOpenWithInitFileCommand(String file); + String getFileOpenCommand(String file); default String flatten(List command) { return command.stream() @@ -48,10 +48,6 @@ public interface ShellType { return ";"; } - default String getAndConcatenationOperator() { - return "&&"; - } - default String getOrConcatenationOperator() { return "||"; } @@ -74,9 +70,9 @@ public interface ShellType { String getPrintVariableCommand(String prefix, String name); - String openCommand(); + String getNormalOpenCommand(); - String switchTo(String cmd); + String executeCommandWithShell(String cmd); List createMkdirsCommand(String dirs); diff --git a/core/src/main/java/io/xpipe/core/process/ShellTypes.java b/core/src/main/java/io/xpipe/core/process/ShellTypes.java index a3993e81f..676fcaca5 100644 --- a/core/src/main/java/io/xpipe/core/process/ShellTypes.java +++ b/core/src/main/java/io/xpipe/core/process/ShellTypes.java @@ -93,7 +93,7 @@ public class ShellTypes { } @Override - public String getOpenWithInitFileCommand(String file) { + public String getFileOpenCommand(String file) { return String.format("%s %s \"%s\"", getExecutable(), "/C", file); } @@ -139,12 +139,12 @@ public class ShellTypes { } @Override - public String openCommand() { + public String getNormalOpenCommand() { return "cmd"; } @Override - public String switchTo(String cmd) { + public String executeCommandWithShell(String cmd) { return "cmd.exe /C " + cmd + ""; } @@ -283,7 +283,7 @@ public class ShellTypes { } @Override - public String getOpenWithInitFileCommand(String file) { + public String getFileOpenCommand(String file) { return String.format("%s -ExecutionPolicy Bypass -File \"%s\"", getExecutable(), file); } @@ -319,12 +319,12 @@ public class ShellTypes { } @Override - public String openCommand() { + public String getNormalOpenCommand() { return "powershell /nologo"; } @Override - public String switchTo(String cmd) { + public String executeCommandWithShell(String cmd) { return "powershell.exe -Command '" + cmd + "'"; } @@ -422,7 +422,7 @@ public class ShellTypes { @Override public String getPauseCommand() { - return "read -n1 -r -p \"Press any key to continue ...\" key"; + return "read -rsp \"Press any key to continue...\\n\" -n 1 key"; } public abstract String getName(); @@ -448,8 +448,8 @@ public class ShellTypes { } @Override - public String getOpenWithInitFileCommand(String file) { - return String.format("%s -i -l -c \"%s\"", getExecutable(), file); + public String getFileOpenCommand(String file) { + return String.format("%s -i -c \"%s\"", getExecutable(), file); } @Override @@ -490,13 +490,13 @@ public class ShellTypes { } @Override - public String openCommand() { - return getName() + " -i -l"; + public String getNormalOpenCommand() { + return getName() + " -i"; } @Override - public String switchTo(String cmd) { - return getName() + " -i -l -c '" + cmd + "'"; + public String executeCommandWithShell(String cmd) { + return getName() + " -i -c '" + cmd + "'"; } @Override