Wiki source for CommandSet

Show raw source

======Command set======

**set** sets options and positional parameters

set [options] [param1 [param2 ...]]


||-x||Turns on execution tracing (default off)||
||-v||Turns on command interpretation parse tracing (default off) implies -location||
||-e||Turns on "throw on error" mode (default off)||
||-location||Turns on location printing on error (default on)||
||-xpipe||Turns on the xpipe implementation for pipes (Experimental) (default off)||

The set command also supports all of the global [[SerializationOptions Serialization Options]]

===set options===

If any options are specified then they set the global shell options for the current shell.
Preceding any boolean option by a + instead of a - will turn OFF that option.

set +omit-xml-declaration
turns OFF the omit-xml-declaration option

===Execute Trace (-x)===
If -x is set then commands are printed to the error output prior to execution

===Verbose (-v)===
if -v is set then commands are printed to the error output while parsed.
Setting -v also sets -location.

===Throw On Error (-e)===
If -e is set, then an exception is throw equivalent to using the [[ExceptionHandling throw]] command whenever a simple command returns a non-zero value, except when the command is the condition for an if, while or until, or when preceded by a "!".

==Location (-location)==
If -location is set then any errors printed are preceded by a location line
$ set -xxx
[stdin line: 9]
set: Unknown option: xxx
set - Set positional parameters and view variables

For more information enter:
help set

If the shell is not interactive, and the exception is not trapped with a try, it will cause the shell to exit.

===set parameters ===
Sets the positional parameters or prints environment variables

Example: sets $1 to "foo" and $2 to "bar"
$ set foo bar

Positional parameters can also be XML expressions
$ set <[1,"foo",<bar>spam</bar>]>

===print variables===
With no arguments prints the names and types of all variables as an xml document.
Note this differences from the unix shells in that it doesnt print the variables value, this is because
values in xmlsh can be extremely large.
$ set
<variable name="a" type="xml"/>
<variable name="PATH" type="string"/>
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki