Macos 与shell扩展抗争
有一点背景知识,我正在使用Hubnet开发一个带有Netlogo的严肃游戏(~参与式模拟)。我希望动态链接NetLogo与外部模型,以便玩家能够: 1) 从hubnet客户端界面运行外部程序(即模型),将参数指定为输入,然后 2) 可以访问模拟结果(即,将模型输出作为外部文件读取) 我发现这篇文章: 因此,我下载/安装了带有NetLogo 5.0.5(Mac OsX 10.7.5)的shell扩展,并开始使用它 好东西,我能够执行: 观察者>外壳:cd“路径” 观察者>外壳:pwd observer>shell:exec“ls”(以及所有不需要输入参数的命令,如shell:exec“cal”、shell:exec“df”…) 现在糟糕的事情 1) 我始终无法使用以下命令启动任何随机应用程序: observer>shell:exec“Safari.app” 或 observer>shell:exec“Safari”(->错误) 我的工作目录正确,Safari(或我正在尝试启动的其他应用程序)实际存在,但NetLogo返回以下错误: 扩展名异常:无法运行程序“Safari”(在目录“/应用程序”中):错误=2,没有这样的文件或目录 观察器运行SHELL:EXEC时出错 由指挥中心呼叫 2) 我也在努力执行带参数的shell命令(例如,shell:exec“open”“parameter 1”“parameter 2”…)。我无法找到正确的语法,因此NetLogo无法识别我试图传递给命令的输入参数 我在Unix方面的经验非常有限,而且我是NetLogo的相对初学者,所以我肯定在某些地方遗漏了一些东西 如果有人能帮我度过难关,我将不胜感激 非常感谢Macos 与shell扩展抗争,macos,shell,netlogo,Macos,Shell,Netlogo,有一点背景知识,我正在使用Hubnet开发一个带有Netlogo的严肃游戏(~参与式模拟)。我希望动态链接NetLogo与外部模型,以便玩家能够: 1) 从hubnet客户端界面运行外部程序(即模型),将参数指定为输入,然后 2) 可以访问模拟结果(即,将模型输出作为外部文件读取) 我发现这篇文章: 因此,我下载/安装了带有NetLogo 5.0.5(Mac OsX 10.7.5)的shell扩展,并开始使用它 好东西,我能够执行: 观察者>外壳:cd“路径” 观察者>外壳:pwd obser
Clément是OSX,您必须使用
open
打开.app
文件。正如您所指出的,您必须为程序分离参数。所以
(shell:exec“open”“/Applications/Safari.app”)
你应该做你想做的
以下是具有多个参数的实际可执行文件的示例:
(shell:exec“ls”“-l”“-t”)
最后,请注意,shell:exec
是一个报告程序。它以字符串形式返回程序的输出