2012-05-11 17 views
3

私はこれを私の(最初の)OSX Lionウィジェットに入れました。OSX Lion Dashboardウィジェット::シェルスクリプトを実行する方法

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

test.outputStringは未定義であるとtest.errorStringはSTHです。その

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をそのままウィジェット内から実行する方法はありますか?

+1

あなたのスクリプトにはハッシュバンがありますか?最初の行は '#!/ bin/bash'またはそれに類するものでなければなりません。 – jimw

+0

いいえ、試してみます – Allisone

+0

wohoo!ありがとうジム、もしあなたがそれを答えることができるのであれば、 – Allisone

答えて

4

バイナリのように呼ばれるシェルスクリプトためには、それがファイルの最初の行に「hashbang」を必要とします。

#!/bin/bash 

スクリプトに使用するインタプリタOSを伝えています。それがなければ、OSはファイルと何をするのか混乱し、あなたが見たエラーを出すでしょう。

+0

遅れて、おかげでもう一度申し訳ありません:D – Allisone

+0

まったく問題ありません。 – jimw

関連する問題