def _parse(batch_cmd):
        """
        :rtype:   (sh_cmd, batch_to_file_s, batch_from_file)
        :returns: parsed result like below:

        .. code-block:: python

            # when parsing 'diff IN_BATCH0 IN_BATCH1 > OUT_BATCH'
            (
                'diff /tmp/relshell-AbCDeF /tmp/relshell-uVwXyz',
                ( <instance of BatchToFile>, <instance of BatchToFile> )    # (IN_BATCH0, IN_BATCH1)
                'STDOUT',
            )
        """
        cmd_array                    = shlex.split(batch_cmd)
        (cmd_array, batch_to_file_s) = BatchCommand._parse_in_batches(cmd_array)
        (cmd_array, batch_from_file) = BatchCommand._parse_out_batch(cmd_array)
        return (list2cmdline(cmd_array), batch_to_file_s, batch_from_file)