- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 Common Lisp 编写一些脚本,并希望拥有 run-program
执行 shell 命令。我一直在尝试操纵输出以获取 (output error returncode)
形式的列表,但我只能从 run-program 获取输出或返回码。
这里的参数只给你:output
(没有:error
):
有没有办法同时获得这三个?像这样:
(setf retcode (my-special-cmd "ls" :output stream1 :error stream2))
(print (list stream1 stream2 retcode))
最佳答案
run-program
返回 multiple values .您可以按照链接问题中的说明处理它们。
您链接到的文档说:
If :STREAM was specified for :INPUT or :OUTPUT, a Lisp STREAM is returned. If :STREAM was specified for both :INPUT and :OUTPUT, three Lisp STREAMs are returned, as for the function EXT:MAKE-PIPE-IO-STREAM.
因此你需要的是
(EXT:MAKE-PIPE-IO-STREAM "ls")
或
(ext:run-program "ls" :input :stream :output :stream)
然后您将必须从返回的流中读取以获得命令输出。但是,在这种情况下,您将丢失退出代码。
关于shell - CLISP:从 shell 命令返回 stdout、stderr 和 retcode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33113644/
好的,作为我的 Lib 的一部分,我需要一个“Worker”应用程序来运行外部程序。通常我会调用: system(""); 但这一次需要的是: 该程序的返回码 应用程序在执行的程序运行时工作 所以伪代
http://search.cpan.org/dist/Redis/lib/Redis.pm#hset $r->hset('hashname', $key => $value); ## returns
public ActionResult Index() { int retCode = Errors.SUCCESS; var da = this.GetDataAccess();
我有一些代码并尝试编译它,但我不能。使用什么编译器或操作系统?里面用到了这些文件 #include #include #include #include #include #include
我正在使用 FreeTDS 库将 C++ 连接到 MSSQL,但在编译时遇到以下错误。 In file included from pa_main.cpp:16:0: /usr/local/inclu
我正在使用 Common Lisp 编写一些脚本,并希望拥有 run-program执行 shell 命令。我一直在尝试操纵输出以获取 (output error returncode) 形式的列表,
我是一名优秀的程序员,十分优秀!