- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想运行以下 Linux 命令来打开文档,该文档包含在系统中注册的应用程序:
xdg-open mydocument.pdf
我看到有很多命令可用:run、run*、capture、shell、execute、system* 等。
来自:http://wiki.call-cc.org/eggref/4/shell和 https://wiki.call-cc.org/man/4/Unit%20utils
我还需要命令的结果(成功与否)。
以下(没有*的系统),虽然没有列出,但似乎也运行良好:
(define result (system "xdg-open mydocument.pdf"))
以下哪种方式是运行上述系统命令最安全的方式?
最佳答案
如果文档的名称是硬编码的,那么使用什么并不重要。如果文件名是用户提供的,并且您依赖于像 system
这样的基于字符串的 API,则必须使用 qs
来引用参数。使用 process 单独传递参数可能更容易.
我不太了解 shell egg,但是如果你想真正喜欢 shell 调用,scsh-process egg是一个非常好的选择(完全披露:我是它的作者)。
关于linux - 在 Chicken Scheme 中运行系统命令的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43309928/
我将如何从 Chicken Scheme 中的系统命令获取输出? 这是我通常在 NewLISP 中执行的操作: (nth 0 (exec "")) ;; the `(nth 0...` is just
我正在尝试使用 emacs + geiser 安装方案,然后使用 geiser: Starting Geiser REPL for chicken ... process-lines: ~/lisp/
有没有办法创建相当于 Python 的虚拟环境 (virtualenv)?使用 virtualenvs,人们可以在虚拟环境(一个单独的目录)内安装 Python 包,而不会弄乱全局 python 环境
命名空间在 Chicken Scheme 中是如何工作的?我现在正在使用 parley egg,当我定义一个名称为 e.g. 的函数时read ,由于名称冲突而导致错误(实际上,因为我的 read 覆
我得到了一个具有一对一关系的类。基本上,在“A 类”中,我与“B 类”具有一对一的关系。此关系使用主键连接列。现在我的问题如下,如果我尝试创建 A 的实例,我无法保存它,因为我还没有向它添加 B 的实
是否有一个 egg 或一些库可以让我在 Scheme 中编写 CSP 风格的程序?我所说的 CSP 风格是指在 Go (go/channel/select) 或 Clojure 的 core.asyn
我是 CHICKEN 和 Scheme 的新手。为了理解尾递归,我写道: (define (recsum x) (recsum-tail x 0)) (define (recsum-tail x ac
我目前正在研究一组用 Chicken Scheme 编写的实用程序,这是我第一次尝试在 Chicken Scheme 中编写基于多文件的程序(或一组程序),而且我在弄清楚如何正确使用附件文件中定义的代
在试图找到如何转换这样的列表时,我遇到了 Scheme streams and circular lists .但是,该答案需要在 Chicken 方案中不可用的 Racket 中的功能。任何人都可以
对于基于 C# 的程序,有几个选项可以确定安装了哪个 .Net 版本。但是是否可以确定是否安装了 .Net?我的意思是,如果我在没有安装任何 .Net 的机器上运行 C# 程序,我会收到以下错误: M
我需要编译和静态链接一个Chicken程序。我希望使用许多扩展,最著名的是 http-client。 我可以使用以下命令编译源代码: csc -compile-syntax -static linux
我正在制作一个在 C++ 中运行的简单程序来为我执行 ffmpeg,但我遇到了需要在“main”中定义某些变量的问题,但该函数需要在 main 之上才能准备好使用.我能做什么? #include #
我正在学习 Scheme 中的宏系统是如何工作的,我正在努力让我的代码看起来更像 JavaScript。所以我想我会从 function 宏开始。这就是我希望函数定义的样子: (function id
对于一个项目,我必须编写一个容器类和元素,其中元素需要了解它们所在的容器。此外,创建应该由容器中的工厂方法完成因为如果你使用这很容易一个头文件和一个 cpp 文件,如果你(像我一样)只允许使用一个头文
我想运行以下 Linux 命令来打开文档,该文档包含在系统中注册的应用程序: xdg-open mydocument.pdf 我看到有很多命令可用:run、run*、capture、shell、exe
我正在尝试评估一个列表,该列表包含一个宏函数中的变量,该宏函数在 lambda 中定义了一个变量,但其中的 eval 不能 (define-syntax MYVAR (syntax-rules
如何在 Chicken Scheme 中可靠地获取脚本名称? 似乎 -ss 占用了脚本名称,因此除非我使用点斜杠来运行我的脚本,否则它是不可见的。 脚本化main.scm: #!/usr/bin/en
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: How are gcc/g++ bootstrapped? 我想知道 gcc 是如何编译的,因为我们都知道它
为什么函数 compose 定义在解释器 csi 而不是编译器 csc 中?我知道我可以很容易地自己定义它,但我只是想知道为什么会有这样的差异。 最佳答案 compose 过程来自 data-stru
我正在使用 chicken scheme 版本 4.9.0.1 并且正在开发一个使用单元测试包 srfi-64 的单元测试套件。 我在这个单元测试包中遇到测试错误问题。 问题的一个最小示例: (req
我是一名优秀的程序员,十分优秀!