我打算使用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,但这给了我同样的错误。
我该如何解决?
答案 0 :(得分:3)
请勿在shebang脚本行中使用此类特定路径,尤其是当它们包含版本号时,因为这些二进制文件的位置/版本可能会更改并破坏脚本。
代替使用/usr/bin/env
查找可执行文件,在您的情况下为:
#!/usr/bin/env sbcl --script