== Ponder2 Shell == Ponder2 has a built-in shell to allow a user to interact with the SMC using simple commands. The shell acts in some way similarly to the Unix Bourn Shell, you can move around the domain hierarchy using the change domain (''cd'') command, you can list things with the ''ls'' command etc. etc. The syntax for shell commands is: {{{ []+ where is an internal command or PonderTalk }}} You can typically start a shell session by using telnet to the SMC. The default port number is 13570 but this may be changed by using the ''-port'' [[Ponder2InstallationAndRunning#options|command option]]: {{{ telnet localhost 13570 }}} == Internal Commands == Internal commands are built into the shell and can be used to manipulate the domain structure and to look at managed objects within the system. ||''Command'' ||''Syntax'' ||''Name'' ||''Description'' || ||cd ||cd [pathname] ||change domain ||sets the current domain to the ''pathname''. If no argument then goes to the root domain || ||ls ||ls [-l] [-p] [pathname]* ||list ||lists contents of domains or objects. -l give more detail, -p lists policies applying to a managed object || ||mkdom, mkdir, md ||mkdom pathname ||make domain ||creates and adds a new domain to the domain hierarchy || ||event ||event name [arg]* ||create event ||instantiates an event type and sends it into the system. The name is interpreted as an Event Type relative to the current domain or within the '/event' domain || ||lp ||lp [policy]+ ||list policy ||lists the contents of a policy in XML form || ||ln ||ln fromname toname ||link ||includes the ''fromname'' managed object in the ''toname'' domain || == PonderTalk Statements == If the command is not recognised by the shell to be an internal command, the shell assumes that it is PonderTalk and stores up input until it gets a line ending with a full-stop (period). That input is then compiled and executed by the interpreter. PonderTalk variables are maintained for the complete session that the shell is active so a variable can be set and then used at a later time. Note, however that in PonderTalk statements all path names must start with `root` or a variable, `/domain1/domain2` for example is not accepted. == Example usage == {{{ $ ls event/ factory/ shell/ $ ls event colourevent $ event colourevent "red" 45 ... $ var := root/mydom/myobj list. $ root at: "mylist" put: var. }}} ---- . CategoryUsingPonder2