def Run(self, Command):
        Output = ''
        Cancelled = False
        if not self.CheckConnection("NOT RUNNING Interactive command: " + Command):
            return Output
        # TODO: tail to be configurable: \n for *nix, \r\n for win32
        LogCommand = self.FormatCommand(Command)
        CommandInfo = self.StartCommand(LogCommand, LogCommand)
        try:
            cprint("Running Interactive command: " + Command)
            #SendAll(self.Connection, Command + "\n")
            self.Connection.sendline(Command)
            #Output += self.Read()
            self.FinishCommand(CommandInfo, Cancelled)
        except pexpect.EOF:
            Cancelled = True
            cprint("ERROR: Run - The Communication Channel is down!")
            self.FinishCommand(CommandInfo, Cancelled)
        except __HOLE__:
            Cancelled = True
            self.FinishCommand(CommandInfo, Cancelled)
            Output += self.error_handler.UserAbort('Command', Output)  # Identify as Command Level abort
        if not Cancelled:
            self.FinishCommand(CommandInfo, Cancelled)
        return Output
dataset/ETHPy150Open owtf/owtf/framework/shell/pexpect_shell.py/PExpectShell.Run