diff --git a/app/src/main/java/io/xpipe/app/util/ScriptHelper.java b/app/src/main/java/io/xpipe/app/util/ScriptHelper.java index c848d68c7..63ef2a194 100644 --- a/app/src/main/java/io/xpipe/app/util/ScriptHelper.java +++ b/app/src/main/java/io/xpipe/app/util/ScriptHelper.java @@ -42,7 +42,7 @@ public class ScriptHelper { ShellControl processControl, List init, String toExecuteInShell, boolean login) { ShellDialect t = processControl.getShellDialect(); String nl = t.getNewLine().getNewLineString(); - var content = String.join(nl, init) + nl; + var content = String.join(nl, init.stream().filter(s -> s != null).toList()) + nl; if (login) { var applyProfilesCommand = t.applyProfileFilesCommand(); diff --git a/core/src/main/java/io/xpipe/core/process/ShellDialect.java b/core/src/main/java/io/xpipe/core/process/ShellDialect.java index 011194f9a..ac2be0c46 100644 --- a/core/src/main/java/io/xpipe/core/process/ShellDialect.java +++ b/core/src/main/java/io/xpipe/core/process/ShellDialect.java @@ -19,6 +19,10 @@ public interface ShellDialect { String fileArgument(String s); + void prepareDumbTerminalCommands(ShellControl sc) throws Exception; + + String prepareProperTerminalCommands(); + default String applyRcFileCommand() { return null; }