send as several commands separated with backslash
diff --git a/rse/plugins/org.eclipse.dltk.rse.core/src/org/eclipse/dltk/core/internal/rse/RSEExecEnvironment.java b/rse/plugins/org.eclipse.dltk.rse.core/src/org/eclipse/dltk/core/internal/rse/RSEExecEnvironment.java
index 4689661..13e5210 100644
--- a/rse/plugins/org.eclipse.dltk.rse.core/src/org/eclipse/dltk/core/internal/rse/RSEExecEnvironment.java
+++ b/rse/plugins/org.eclipse.dltk.rse.core/src/org/eclipse/dltk/core/internal/rse/RSEExecEnvironment.java
@@ -33,10 +33,11 @@
private static final String SHELL_PATH = "exec /bin/sh"; //$NON-NLS-1$
- private static final String CMD_SEPARATOR = " ;"; //$NON-NLS-1$
+ private static final String CMD_SEPARATOR = ";"; //$NON-NLS-1$
private static final String EXPORT_CMD = ";export "; //$NON-NLS-1$
private final static String EXIT_CMD = "exit"; //$NON-NLS-1$
private static final String SET_CMD = "set"; //$NON-NLS-1$
+ private static final String BACKSLASH = " \\"; //$NON-NLS-1$
private final RSEEnvironment environment;
private static int counter = -1;
@@ -171,9 +172,10 @@
final String pattern = "DLTK_INITIAL_PREFIX_EXECUTION_STRING:" //$NON-NLS-1$
+ String.valueOf(System.currentTimeMillis());
final String echoPattern = "echo \"" + pattern + "\""; //$NON-NLS-1$ //$NON-NLS-2$
- hostShell.writeToShell(echoPattern + CMD_SEPARATOR
- + buildCommand(cmdLine) + CMD_SEPARATOR + echoPattern
- + CMD_SEPARATOR + EXIT_CMD);
+ hostShell.writeToShell(echoPattern + CMD_SEPARATOR + BACKSLASH);
+ hostShell.writeToShell(buildCommand(cmdLine) + CMD_SEPARATOR
+ + BACKSLASH);
+ hostShell.writeToShell(echoPattern + CMD_SEPARATOR + EXIT_CMD);
Process p = null;
try {
p = new MyHostShellProcessAdapter(hostShell, pattern, logger);