【发布时间】:2020-01-26 09:26:39
【问题描述】:
我很想在 MacOS 上使用 SBCL 运行 Common Lisp shebang 脚本 (test.lisp)。脚本如下:
#!/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,但是这给了我同样的错误。
我该如何解决这个问题?
【问题讨论】:
-
将这样一个特定路径放入 shebang 是一个非常糟糕的主意,因为版本 1.5.6 将得到更新并且该命令将失败,因此您最好使用
#!/usr/bin/env sbcl并且您可能不会t需要--script(不确定——对lisp一无所知)。当你运行/usr/bin/local/Cellar/sbcl/1.5.6/bin/sbcl --script test.lisp时会发生什么?如果你得到相同的效果,那么这不是一个shebang问题。 -
使用 #!/usr/bin/env sbcl --script 有效!我确实需要 --script,或者它只是把我扔进了 SBCL repl。非常感谢
-
我想你还是把
/usr/local/bin和/usr/bin/local搞混了。 -
这只是帖子中的一个错字,谢谢指出
标签: macos common-lisp sbcl shebang