2
? (run-program "ls" '() :output *standard-output*)
money.lisp
ssqHitNum.txt
ssqNum.txt
#<EXTERNAL-PROCESS (ls)[1019] (EXITED : 0) #x3867BACE>
? (run-program "tail ssqHitNum.txt" '() :output *standard-output*)
#<EXTERNAL-PROCESS (tail ssqHitNum.txt)[1020] (EXITED : 71) #x38679E56>

为什么 CCL 无法运行“tail ssqHitNum.txt”?

4

2 回答 2

2

如文档http://ccl.clozure.com/ccl-documentation.html#Running-Other-Programs-as-Subprocesses中所述,您需要捕获输出。这是记录的方式之一:

(with-output-to-string (s)
      (ccl:run-program "ls" nil :output s))

输出现在包含在 s 中,你可以用它做任何你想做的事情。

于 2012-07-27T01:14:30.210 回答
1

尝试将其运行为:
(run-program "tail" '("ssqHitNum.txt") :output *standard-output*) run-program 的第二个参数必须包含参数。

于 2012-03-13T13:35:58.653 回答