private int _executeBashCommands(List<String> commands, String targetSlave)
      throws InterruptedException, IOException {

    StringBuffer sb = new StringBuffer("ssh ");

    sb.append(targetSlave);
    sb.append(" '");

    if ((_cleanUpCommand != null) && !_cleanUpCommand.isEmpty()) {
      sb.append(_cleanUpCommand);
      sb.append("; ");
    }

    for (int i = 0; i < commands.size(); i++) {
      sb.append(commands.get(i));

      if (i < (commands.size() - 1)) {
        sb.append(" && ");
      }
    }

    sb.append("'");

    Process process = JenkinsResultsParserUtil.executeBashCommands(sb.toString());

    return process.exitValue();
  }