Common Lisp Shebang 脚本提供 "Command Not Found"
Common Lisp Shebang Script Gives "Command Not Found"
我正在尝试 运行 在 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 脚本行中使用此类特定路径,尤其是当它们包含版本号时,因为这些二进制文件的 location/version 可能会更改并破坏脚本。
而是使用 /usr/bin/env
来查找可执行文件,在您的情况下是:
#!/usr/bin/env sbcl --script
我正在尝试 运行 在 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 脚本行中使用此类特定路径,尤其是当它们包含版本号时,因为这些二进制文件的 location/version 可能会更改并破坏脚本。
而是使用 /usr/bin/env
来查找可执行文件,在您的情况下是:
#!/usr/bin/env sbcl --script