Wiki
Download
Manual
Eggs
API
Tests
Bugs
show
edit
history
You can edit this page using
wiki syntax
for markup.
Article contents:
== Outdated egg! This is an egg for CHICKEN 4, the unsupported old release. You're almost certainly looking for [[/eggref/5/shell|the CHICKEN 5 version of this egg]], if it exists. If it does not exist, there may be equivalent functionality provided by another egg; have a look at the [[https://wiki.call-cc.org/chicken-projects/egg-index-5.html|egg index]]. Otherwise, please consider porting this egg to the current version of CHICKEN. [[tags:eggs]] [[toc:]] == shell === Introduction Invoke shell commands === run <syntax>(run COMMAND ...)</syntax> Invokes each {{COMMAND}} as a shell command. {{COMMAND}} may be of any data type and is flattened and converted to a string. {{COMMAND}} is also implicitly quasiquoted so subexpressions may be computed at run-time by unquoting them. Returns an unspecified value. Note that expressions and subforms are not automatically escaped, so (run (ls a "b c")) will pass 3 arguments to the {{ls}} command. === run* <syntax>(run* COMMAND ...)</syntax> Similar to {{run}} but returns the return status of each command as multiple result values. === capture <syntax>(capture COMMAND ...)</syntax> Similar to {{run}} but captures everything written by the subprocess to stdout and returns the output as a string. In case the command fails, an empty string is returned (there is currently no way to distinguish between a failed command and one that produces no output). === shell <syntax>(shell COMMAND ...)</syntax> Returns a procedure that, when invoked will run the given shell commands. The procedure accepts the same keyword arguments as {{execute}}. Note that unquoted subexpressions in the command-list are evaluated when the procedure is invoked, not when it is created. === execute <procedure>(execute COMMANDLIST #!key status verbose)</procedure> Converts {{COMMANDLIST}} to a string by flattening the list-structure of each command and interspersing it with whitespace ({{" "}}) and invokes it as a shell command. If {{status}} is given and true, then {{execute}} returns the exit status, with one result value for each element in {{COMMANDLIST}}. If {{verbose}} is given and true, it overrides the current setting of {{shell-verbose}}. This is the underlying primitive used by {{run[*]}} and {{shell}}. === shell-verbose <parameter>shell-verbose</parameter> When true, shell commands invoked via {{run}}, {{run*}} and {{shell}} are displayed on the port given by {{(current-output-port)}}. === Authors Felix Winkelmann === License This code is in the public domain === Version History ; 0.3 : added {{capture}} ; 0.1 : initial version
Description of your changes:
I would like to authenticate
Authentication
Username:
Password:
Spam control
What do you get when you multiply 0 by 3?