clojure.java.shell
Conveniently launch a sub-process providing its stdin and
collecting its stdout
clojure.java.shell 中的变量
s
- sh
- 将给定的字符串传递至 Runtime.exec() 以启动子进程。选项 :in 后面可以跟 clojure.java.io/copy 适用的任何合法输入源,例如 InputStream、Reader、File、byte[] 或 String,以馈送到子进程的 stdin。选项 :in-enc 后面可以跟一个字符串,作为字符编码名称(例如“UTF-8”或“ISO-8859-1”)以将 :in 选项指定的输入字符串转换为子进程的 stdin。默认为 UTF-8。如果 :in 选项提供字节数组,则这些字节将未经过编码地传递,并且将忽略此选项。选项 :out-enc 后面可以跟 :bytes 或字符串。如果给定字符串,则将用作字符编码名称(例如“UTF-8”或“ISO-8859-1”)以将子进程的 stdout 转换为返回的字符串。如果给定 :bytes,则子进程的 stdout 将存储在字节数组中并返回。默认为 UTF-8。选项 :env 将使用映射(或基础 Java String[],如果你希望自虐)覆盖进程环境。选项 :dir 将使用字符串或 java.io.File 覆盖进程目录。可以使用 with-sh-env 和 with-sh-dir 为多个操作绑定 :env 或 :dir。sh 返回一个映射::exit => 子进程的退出代码::out => 子进程的 stdout(作为 byte[] 或字符串)::err => 子进程的 stderr(通过平台默认编码的字符串)