【发布时间】:2019-03-11 07:58:06
【问题描述】:
我一直在尝试使用 SBCL 学习 Common Lisp,但在执行我的代码时遇到了问题。使用sbcl --script exec.lisp 一切正常(无论我是否指定了shebang 行),但我似乎无法直接使用shebang 行执行与./exec.lisp 相同的文件。虽然我很可能误解了manual 所做的事情,但我的理解暗示这应该是可能的。我的exec.lisp 脚本看起来与示例中的脚本相同(并且它已被赋予可执行权限chmod a+x exec.lisp)
#!/usr/local/bin/sbcl --script
(write-line "Hello, World!")
但我收到的不是所需的输出:
$ ./exec.lisp
./exec.lisp: line 2: write-line: command not found
我已经确定sbcl 的路径是正确的)
编辑:我使用的是 mac OS。
【问题讨论】:
-
你试图在什么样的机器上运行它?
-
如果是 Linux/UNIX,文件是否标记为可执行文件 (
chmod +x)?如果是 Windows,sbcl.exe在您的系统路径中吗? -
是的,这就是我要问的。如果这是 Windows,您必须确保使用 sbcl bin 文件夹更新您的环境变量,以便从命令行运行 sbcl。这是一个更好的问题,但是可以通过教程来回答。您可能还需要考虑使用运行 sbcl 的 emacs 设置 ide
标签: common-lisp sbcl shebang