@cached_property<EOL><INDENT>def command(self):<DEDENT>
exec_prefix = self.parent.parent.parent.config.get('<STR_LIT>', [])<EOL>command = self.execution['<STR_LIT>']<EOL>if isinstance(command, SEQUENCES):<EOL><INDENT>command = [arg.format(**self.command_expansion_vars) for arg in command]<EOL><DEDENT>else:<EOL><INDENT>command = command.format(**self.command_expansion_vars)<EOL><DEDENT>if self.execution.get('<STR_LIT>', False):<EOL><INDENT>if not isinstance(exec_prefix, six.string_types):<EOL><INDENT>exec_prefix = '<STR_LIT:U+0020>'.join(exec_prefix)<EOL><DEDENT>if not isinstance(command, six.string_types):<EOL><INDENT>msg = "<STR_LIT>"<EOL>msg = msg.format(type=type(command).__name__, value=repr(command))<EOL>raise Exception(msg)<EOL><DEDENT>eax = [exec_prefix + command]<EOL><DEDENT>else:<EOL><INDENT>if not isinstance(exec_prefix, SEQUENCES):<EOL><INDENT>exec_prefix = shlex.split(exec_prefix)<EOL><DEDENT>if not isinstance(command, SEQUENCES):<EOL><INDENT>eax = exec_prefix + shlex.split(command)<EOL><DEDENT>else:<EOL><INDENT>eax = exec_prefix + command<EOL><DEDENT>eax = [six.moves.shlex_quote(arg) for arg in eax]<EOL><DEDENT>return eax<EOL>
:return command to execute inside the generated shell-script