Planck Shell capability.
Vars
*sh-dir*
*sh-env*
sh
sh-async
with-sh-dir
with-sh-env
([& args])Launches a sub-process with the supplied arguments.
Parameters: cmd, <options>
cmd the command(s) (Strings) to execute. will be concatenated together.
options optional keyword arguments– see below.
Options are:
:in may be given followed by any legal input source for planck.io/copy, e.g. IInputStream or IReader created using planck.io, File, or string, to be fed to the sub-process's stdin.
:in-enc option may be given followed by a String, used as a character encoding name (for example "UTF-8" or "ISO-8859-1") to convert the input string specified by the :in option to the sub-process's stdin. Defaults to UTF-8.
:out-enc option may be given followed by a String. If a String is given, it will be used as a character encoding name (for example "UTF-8" or "ISO-8859-1") to convert the sub-process's stdout to a String which is returned.
:env override the process env with a map of String: String.
:dir override the process dir with a String or planck.io/File.
if the command can be launched, sh returns a map of
:exit => sub-process's exit code
:out => sub-process's stdout (as String)
:err => sub-process's stderr (String via platform default encoding), otherwise it throws an exception
(cat :cmd (+ string?) :opts (* ::sh-opt))(keys :req-un [::exit ::out ::err]) ([& args])Launches a sub-process with the supplied arguments.
Parameters: cmd, <options>, cb
cmd the command(s) (Strings) to execute. will be concatenated together.
options optional keyword arguments– see below.
cb the callback to call upon completion
Options are:
:in may be given followed by any legal input source for planck.io/copy, e.g. IInputStream or IReader created using planck.io, File, or string, to be fed to the sub-process's stdin.
:in-enc option may be given followed by a String, used as a character encoding name (for example "UTF-8" or "ISO-8859-1") to convert the input string specified by the :in option to the sub-process's stdin. Defaults to UTF-8.
:out-enc option may be given followed by a String. If a String is given, it will be used as a character encoding name (for example "UTF-8" or "ISO-8859-1") to convert the sub-process's stdout to a String which is returned.
:env override the process env with a map of String: String.
:dir override the process dir with a String or planck.io/File.
if the command can be launched, sh returns a map of
:exit => sub-process's exit code
:out => sub-process's stdout (as String)
:err => sub-process's stderr (String via platform default encoding), otherwise it throws an exception
Spec
args: (cat :cmd (+ string?) :opts (* ::sh-opt) :cb fn?) ret: nil?
([dir & forms])Macro
Sets the directory for use with sh, see sh for details.
([env & forms])Macro
Sets the environment for use with sh, see sh for details.