常见的Lisp Shebang脚本给出“找不到命令”

时间:2019-09-26 06:51:42

标签: macos common-lisp sbcl shebang

我打算使用SBCL在MacOS上运行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,但这给了我同样的错误。

我该如何解决?

1 个答案:

答案 0 :(得分:3)

请勿在shebang脚本行中使用此类特定路径,尤其是当它们包含版本号时,因为这些二进制文件的位置/版本可能会更改并破坏脚本。

代替使用/usr/bin/env查找可执行文件,在您的情况下为:

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