3

我的(第一个)OSX Lion Widget 中有这个。

var test = widget.system("/Users/Me/testscript",null);

test.outputString 未定义,而 test.errorString 是某事。像那样

DashboardClient[xxxxx:xxx] *** NSTask: Task create for path '/Users/Me/testscript' 
failed: 22, "Invalid argument". Terminating temporary process.

testscript 只包含一个echo "here"

据我通过谷歌了解... NSTask 以某种方式包装了我的电话,它需要一个实际的可执行二进制文件。但是,有没有办法从一个小部件中执行这个 bash-script-executable 就像它一样?

4

1 回答 1

4

为了让 shell 脚本像二进制文件一样被调用,它需要一个 'hashbang' 作为文件的第一行:

#!/bin/bash

它告诉操作系统为脚本使用哪个解释器。没有它,操作系统会对如何处理该文件感到困惑,给你你所看到的错误。

于 2012-05-11T14:44:49.213 回答