2011-12-29 2 views
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> 

Почему canot CCL запускает «tail ssqHitNum.txt»?CCL не запускает команду оболочки обычно?

+0

(ccl: run-program "/ bin/sh" (список "-c" cmd): входной сигнал nil: output * standard-output *) работает сейчас. –

ответ

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)) 

Выход теперь содержится в сек, и вы можете делать все, что вы хотите с ним.

1

Попробуйте запустить его как:
(run-program "tail" '("ssqHitNum.txt") :output *standard-output*) Второй аргумент для запуска-программы должны содержать параметры.

Смежные вопросы