Open topic with navigation
This command allows WINDOWS or UNIX shell commands to be given from APL. )SH is a synonym of )CMD. Either command may be given in either environment (Windows or UNIX) with exactly the same effect. )SH is probably more natural for the UNIX user. This section describes the behaviour of )SH and )CMD under UNIX. See Windows Command Processor for a discussion of their behaviour under Windows.
The system functions ⎕SH and ⎕CMD provide similar facilities but may be executed from within APL code.
)SH allows UNIX shell commands to be given from APL. The argument must be entered in the appropriate case (usually lower-case). The result of the command, if any, is displayed.
)SH causes Dyalog APL to invoke the system() library call. The shell which is used to run the command is therefore the shell which system() is defined to call. For example, under AIX this would be /usr/bin/sh.
When the shell is closed, control returns to APL. See Dyalog for UNIX UI Guide for further information.
The parameters CMD_PREFIX and CMD_POSTFIX may be used to execute a different shell under the shell associated with system().
)sh ps -u andys | grep -v ps UID PID TTY TIME CMD 6179 9437326 pts/0 0:00 ksh 6179 10223736 pts/0 0:00 dyalog 6179 10354810 pts/0 0:00 sh 6179 10879188 pts/0 0:00 ksh 6179 11665660 - 0:00 sshd
This function is disabled and instead generates a DOMAIN ERROR if the RIDE_SPAWNED parameter is non-zero. This is designed to prevent it being invoked from a RIDE session which does not support this type of user interface. For further details, see the RIDE User Guide.