Description
    
        (New in Rush 103.00) 
        Optional.
        
        Sets optional flags that affect how the render command
        is executed.
         
        The following flags are supported:
         
 
    | 
CommandFlags Options        
        |  
     
        | 
                quote
	 | 
	
                Honor double quotes in the render command. 
                This can be used to protect spaces in command arguments.
                
        |  
     
        | 
                escape
	 | 
	
                Honor escape characters (\) in the render command. 
                Use this to escape certain characters (like '$' and '"'). 
                Use this to protect quotes-within-quotes (if 'quote' is specified) 
                and to protect '$' (if 'expandvars' is specified) 
                
        |  
     
        | 
                expandvars
	 | 
	
                Expand environment variables in the render command 
                before it's executed. Variables can be specified in the format ${VARNAME} 
                across both platforms.
                
        |  
     
        | 
                useshell
	 | 
	
                Run the  render command in a native shell. 
                Under windows this means a DOS "cmd" shell. 
                Under unix this means a Bourne /bin/sh. 
                
        |  
     
        | 
                off
	 | 
	
                Disable all the above flags. 
                This is the default behavior if commandflags aren't specified. 
         | 
     
 
 
         
        
	 Quote 
        Use the 'quote' option if you intend to pass a command that includes quoted
        arguments to protect spaces. Use the 'escape' option if you are including
        escape characters to escape quotes.
         
        For instance, to get the desired results to run the command:
          
        perl -e "print \"Hello world!\\n\";"
        
        ..then you would use these two options. eg:
        
        rush -submit << EOF
        :
        commandflags   quote escape
        command        perl -e "print \"Hello world!\\n\";"
        :
        EOF
        
	ExpandVars 
        Use the 'expandvars' option if you intend to have environment variables
        in your command, and want them expanded at runtime. This uses the ${VARNAME}
        syntax across platforms, so for instance ${RUSH_JOBID} will expand to the
        job's jobid on both unix and windows machines. eg:
         
        rush -submit << EOF
        :
        commandflags   expandvars
        command        /bin/echo Rush jobid=${RUSH_JOBID}, user=${USER}, frame=${RUSH_FRAME}.
        :
        EOF
        
	
	Escape 
        If you find the need to escape some of the characters with '\', combine 'escape' with
        'expandvars', eg:
         
        rush -submit << EOF
        :
        commandflags   expandvars escape
        command        /bin/echo The value of \${RUSH_FRAME} is ${RUSH_FRAME}.
        :
        EOF
        
        Note that enabling the 'escape' flag means that all backslashes will
        be interpreted as escape characters, so to have actual backslashes in
        the command or arguments, you'd need to double them up, eg:
        
        rush -submit << EOF
        :
        commandflags   expandvars escape
        command        cmd /c \\\\path\\to\foo.bat -arg1 -arg2
        :
        EOF
        
	UseShell 
        Use the 'useshell' option to tell Rush to run the render command 
        in the operating system's native shell at render time. Under unix this
        is '/bin/sh -c', and under windows this is "cmd /c".
        Use this option if you need access to shell features as part of your command.
        (For instance, redirection, wildcards, or native variable expansion).
	 
	As an example, if you want to run DOS internal commands like DIR or ECHO,
	you can enable the 'useshell' option to access them, e.g.
         
        rush -submit << EOF
        :
        commandflags   useshell
        command        dir c:\temp
        :
        EOF
        
	If 'useshell' wasn't specified, the 'dir c:\temp' command would likely
	fail with a 'Command not found' error. This is because 'dir' is not really
	an executable, but is a DOS-specific internal command.
        
        Note: using shell-specific syntax may make your commands non-portable
        across platforms. If you need shell specific behavior, it's better to have your 
        render script handle executing your commands in the shell you want, so you can
        include logic that checks which platform it's running on, and behaves as needed.
         
	 Off 
        'off' indicates no command flags; the default behavior is to be used. 
        This is the same as not specifying the commandflags at all.
    
     See Also
    
   |