code: def command(self):
          
          exec_prefix = self.parent.parent.parent.config.get('exec_prefix', [])
          command = self.execution['command']
          if isinstance(command, SEQUENCES):
              command = [arg.format(**self.command_expansion_vars) for arg in command]
          else:
              command = command.format(**self.command_expansion_vars)
          if self.execution.get('shell', False):
              if not isinstance(exec_prefix, six.string_types):
                  exec_prefix = ' '.join(exec_prefix)
              if not isinstance(command, six.string_types):
                  msg = "Expected string for shell command, not {type}: {value}"
                  msg = msg.format(type=type(command).__name__, value=repr(command))
                  raise Exception(msg)
              eax = [exec_prefix + command]
          else:
              if not isinstance(exec_prefix, SEQUENCES):
                  exec_prefix = shlex.split(exec_prefix)
              if not isinstance(command, SEQUENCES):
                  eax = exec_prefix + shlex.split(command)
              else:
                  eax = exec_prefix + command
              eax = [six.moves.shlex_quote(arg) for arg in eax]
          return eax
docs: :return command to execute inside the generated shell-script