CCL不能正常运行shell命令吗?

时间:2011-12-29 23:55:50

标签: ccl

? (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不能运行“tails wHitNum.txt”?

2 个答案:

答案 0 :(得分: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中,您可以随心所欲地使用它。

答案 1 :(得分:1)

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