shell - 是否存在在 Common Lisp 中运行外部程序的标准方法?

标签 shell exec common-lisp ccl

在 clisp 中,以下代码有效:

(defun hit-history () (shell "tail ssqHitNum.txt"))

但是,在 Clozure CL 中,shell不支持功能!

最佳答案

不,没有标准的方法,但是有一些库为重要的实现提供了这个功能。例如,在 Quicklisp 中有可用的 trivial-shell ,提供 shell-command . (我实际上并没有测试它,但它在 recommended libraries 上的 CLiki 中。)还有外部程序。更新:inferior-shell这些天似乎更受欢迎,正如 Ehvince 在评论和他自己的回答中指出的那样。

您还可以使用读取时间条件使不同的实现使用它们各自的功能来执行此操作。

覆铜板有ccl:run-program , 例如:

CL-USER> (run-program "whoami" '() :output *standard-output*)
foobar
#<EXTERNAL-PROCESS (whoami)[NIL] (EXITED : 0) #xC695EA6>

关于shell - 是否存在在 Common Lisp 中运行外部程序的标准方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7721081/

相关文章:

android - 如何从 shell 获取有关 Android shell 中可用命令的信息?

linux - 如果同一行有 2 个字段匹配,则从同一列减去 2 个值

c - 将 exec 输出重定向到缓冲区或文件

Apache下的PHP exec()运行脚本时返回null和255

common-lisp - 将制表符分隔字符串中的值添加到 plist

linux - source、zsh、 "."和直接shell脚本调用的区别

shell - 从 TCL 脚本在后台运行命令并格式化输出

sql-server - SQL中exec的微妙之处

lisp - 在 lisp 中,我如何测量和捕获评估表达式所花费的时间?

lisp - 如何在 Common Lisp 中使结构的构造函数按顺序求值?