gpt4 book ai didi

lisp - 从 SBCL 访问自定义 bash 脚本

转载 作者:太空宇宙 更新时间:2023-11-03 18:52:46 25 4
gpt4 key购买 nike

我看过 this question但它似乎并不适用于此。

使用 SBCL,效果很好:

(运行程序 "/bin/ls"() :output *standard-output*)

这样做也是如此:

(运行程序 "/Applications/Safari.app/Contents/MacOS/Safari"())

它会启动一个 Safari 窗口。

我可以在我的 bin 目录中创建一个 bash 脚本,里面只有这个:

/Applications/Safari.app/Contents/MacOS/Safari

当我从终端运行这个 bash 脚本时,Safari 会打开。

但我无法从 SBCL 内部运行此脚本:

(运行程序 "/Users/myhome/bin/safariscript"())

REPL 报告:

Couldn't execute "/Users/myhome/bin/safariscript": Exec format error
[Condition of type SIMPLE-ERROR]

脚本本身当然可以正常工作。在没有任何适用于 lisp 环境的帮助的情况下,我一直在令人作呕地搜索此错误的含义,所以我想知道这里是否存在更广泛的问题?

最佳答案

Shell 脚本需要 shell-bang为了通过 execve 或任何使用它的东西运行,比如 run-program。所以你应该使用它作为你的文件的内容:

#!/bin/sh
exec /Applications/Safari.app/Contents/MacOS/Safari

关于lisp - 从 SBCL 访问自定义 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20279334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com