xorriso: Processing

 
 7 Command processing
 ********************
 
 Commands are either actions which happen immediately or settings which
 influence following actions.  So their sequence does matter, unless they
 are given as program arguments and command *-x* is among them.
 Commands consist of a command word, followed by zero or more parameter
 words.  If the list of parameter words is of variable length (indicated
 by "[...]"  or "[***]") then it must be terminated by either the *list
 delimiter*, occur at the end of the argument list, or occur at the end
 of an input line.
 
    At program start the list delimiter is the string "--".  This may be
 changed with the -list_delimiter command in order to allow "--" as
 parameter in a variable length list.  However, it is advised to reset
 the delimiter to "--" immediately afterwards.
 For brevity the list delimiter is referred as "--" throughout this text.
 
 The list delimiter is silently ignored if it appears after the
 parameters of a command with a fixed list length.  It is handled as
 normal text if it appears among the parameters of such a command.
 
    *Pattern expansion* converts a list of pattern words into a list of
 existing file addresses.  Unmatched pattern words will appear unaltered
 in that result list.
 Pattern matching supports the usual shell parser wildcards '*' '?'
 '[xyz]' and respects '/' as the path separator, which may only be
 matched literally.
 Pattern expansion is a property of some particular commands and not a
 general feature.  It is controlled by commands -iso_rr_pattern and
 -disk_pattern.  Commands which use pattern expansion all have variable
 parameter lists which are specified in this text by "[***]" rather than
 "[...]".
 Some other commands perform pattern matching unconditionally.
 
    Command and parameter words are either read from the program
 arguments, where one argument is one word, or from quoted input lines
 where words are recognized similar to the quotation rules of a shell
 parser.
 'xorriso' is not a shell, although it might appear so at first glimpse.
 Be aware that the interaction of quotation marks and pattern symbols
 like "*" differs from the usual shell parsers.  In 'xorriso', a
 quotation mark does not make a pattern symbol literal.
 
    *Quoted input* converts whitespace-separated text into words.  The
 double quotation mark " and the single quotation mark ' can be used to
 enclose whitespace and make it part of words (e.g.  of file names).
 Each mark type can enclose the marks of the other type.  A trailing
 backslash \ outside quotations or an open quotation cause the next input
 line to be appended.
 Quoted input accepts any 8-bit character except NUL (0) as the content
 of the quotes.  Nevertheless it can be cumbersome for the user to
 produce those characters directly.  Therefore quoted input and program
 arguments offer optional *Backslash Interpretation* which can represent
 all 8-bit characters except NUL (0) via backslash codes as in $'...'  of
 bash.
 This is not enabled by default.  See command -backslash_codes.
 
    When the program starts then it first looks for argument -no_rc.  If
 this is not present then it looks for its startup files and reads their
 content as command input lines.  Then it interprets the program
 arguments as commands and parameters.  Finally it enters dialog mode if
 command -dialog "on" has been executed by this point.
 
    The program ends either by command -end, or by the end of program
 arguments if dialog mode has not been enabled at that point, or by a
 problem event which triggers the threshold of command -abort_on.