Нет, стандартного способа не существует, но есть библиотеки, которые предоставляют эту функциональность для важных реализаций.Например, в Quicklisp имеется тривиальная оболочка, которая обеспечивает shell-command
.(Я на самом деле не тестировал его, но он входит в число рекомендуемых библиотек на CLiki .) Существует также внешняя программа.Обновление: подчиненная оболочка , кажется, предпочтительнее в наши дни, как указывает Эхвинс в комментарии и своем собственном ответе.
Вы также можете использовать условные выражения для чтения, чтобы различные реализации использовалисоответствующие функции для этого.
CCL имеет ccl:run-program
, например:
CL-USER> (run-program "whoami" '() :output *standard-output*)
foobar
#<EXTERNAL-PROCESS (whoami)[NIL] (EXITED : 0) #xC695EA6>