docs: def split_command(cmd, posix=None):
      '''
       - cmd is string list -> nothing to do
       - cmd is string -> split it using shlex
  
      :param cmd: string ('ls -l') or list of strings (['ls','-l'])
      :rtype: string list
      '''
      if not isinstance(cmd, string_types):
          # cmd is string list
          pass
      else:
          if not PY3:
              # cmd is string
              # The shlex module currently does not support Unicode input (in
              # 2.x)!
              if isinstance(cmd, unicode):
                  try:
                      cmd = unicodedata.normalize(
                          'NFKD', cmd).encode('ascii', 'strict')
                  except UnicodeEncodeError:
                      raise EasyProcessUnicodeError('unicode command "%s" can not be processed.' % cmd +
                                                    'Use string list instead of string')
                  log.debug('unicode is normalized')
          if posix is None:
              posix = 'win' not in sys.platform
          cmd = shlex.split(cmd, posix=posix)
      return cmd