code: public void processLine(String line) throws CLIException {
          if (lineProcessor != null) {
              String out = lineProcessor.processLine(line);
              if (out != null) {
                  output.output(out, outputConverter);
                  return;
              } else {
                  // Exit from sub-shell
                  lineProcessor = null;
              }
          }
  
          if (line.trim().equals("?")) {
              output.output(String.format(HINT_FORMAT, appName), outputConverter);
          } else {
              List<Token> tokens = Token.tokenize(line);
              if (tokens.size() > 0) {
                  String discriminator = tokens.get(0).getString();
                  processCommand(discriminator, tokens);
              }
          }
      }
docs: You can operate Shell linewise, without entering the command loop.
  All output is directed to shell's Output.
  
  @see org.gearvrf.debug.cli.Output
  
  @param line Full command line
  @throws org.gearvrf.debug.cli.CLIException This may be TokenException