Сценарий Common Lisp Shebang дает команду "Команда не найдена" - PullRequest
2 голосов
/ 26 сентября 2019

Я пытаюсь запустить сценарий Common Lisp shebang (test.lisp) на MacOS, используя SBCL.Сценарий ниже:

#!/usr/local/bin/Cellar/sbcl/1.5.6/bin/sbcl --script
(write-line "test")

Я запустил сценарий chmod + x, чтобы сделать его исполняемым, и когда я его запустил, я получил:

./test.lisp: line 2: write-line: command not found

Я убедился, что мой путь SBCLбыло правильно.Первоначально я попытался / usr / local / bin / sbcl, но это дало мне ту же ошибку.

Как я могу это исправить?

1 Ответ

3 голосов
/ 26 сентября 2019

Не используйте такие специфические пути в строках сценария shebang, особенно если они содержат номера версий, поскольку расположение / версия этих двоичных файлов может измениться и сломать сценарий.

Вместо этого используйте /usr/bin/env длянайдите исполняемый файл, и в вашем случае это:

#!/usr/bin/env sbcl --script
...