command-line

function

Library: Process execution (OMPROCESS)
Import : omprocess.xmd

Returns: an object representing the command-line provided in the string argument


Declaration
export command-line-type function
   command-line              value string c-line
                with-parsing value switch parsing optional
      

Argument definitions

c-line
is the command-line string to be processed
parsing
indicates whether or not the command-line should be split into whitespace-delimited components


Purpose

The command-line function takes a full command-line in string form, and builds a representation of that command-line that can be used to launch a process using the execute function. The object returned by command-line is opaque, and cannot be manipulated directly by an OmniMark program. command-line is meant to be used directly as the argument to the function execute; examples of its use appear there.

The optional parsing argument can be used to guide OmniMark into breaking up the components of the command-line into individual pieces. If the argument is true, quoted strings in the command-line are processed as follows:

  1. Any whitespace character is escaped if it appears within a sequence delimited by a pair of matching quote characters (either single or double).
  2. The matching quote characters referred to above are removed.
  3. The resulting string is split on any remaining, unescaped whitespace.

If the parsing argument is false, the command-line is not processed. If the argument is unspecified, the default value on Unix systems is true, while the default value on Windows systems is false. Loosely speaking, true corresponds to how most Unix shells parse their command-line. However, note that command-line processing is ultimately platform-dependent. Use of the command-line function can yield different results on different platforms, once the returned value is passed on to the execute function.

Other Library Functions