CCL не запускает команду оболочки нормально? - PullRequest
2 голосов
/ 30 декабря 2011
? (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"?

Ответы [ 2 ]

2 голосов
/ 27 июля 2012

Как подробно описано в документации, 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 голос
/ 13 марта 2012

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

...