Ubuntu Manpages

A hook for running a second command from within a command without having to use the commandline argument parsing.

If "type", "uuid", or "primary_commands" are not passed in, the values from the previous command run are used.

The regex to use for matching property key/value separators.

The regex to use for matching the id argument (luid / uuid).

Sets up this context object's arguments and key/value pairs from an array that looks like an @ARGV.

This routine pulls arguments (specified by --key=value or --key value or -k value) and properties (specified by --props key=value or -- key=value) as passed on the command line out of ARGV (or something else emulating ARGV) and sticks them in "args" or "props" and "prop_set" as necessary. Argument keys have leading "--" or "-" stripped.

If a key is not given a value on the command line, its value is set to undef.

More complicated separators such as =~ (for regexes) are also handled (see "cmp_regex" for details).

When working with individual records, it is often the case that we'll be expecting a --type argument and then a mess of other key-value pairs.

This routine figures out and sets "type" and "uuid" from the arguments given on the command-line, if possible. Being unable to figure out a uuid is fatal.