从NodeJS中执行exec osascript(AppleScript)

我知道我可能错过了这个巨大的,

但是有人知道为什么这会一直返回一个错误?

$ node -v && node v0.4.6 > var cmd = 'osascript -e "open location \"http://google.com\""'; > require('child_process').exec(cmd, function (error, stdout, stderr) { console.log(error); }); //Error message > { stack: [Getter/Setter], arguments: undefined, type: undefined, message: 'Command failed: 15:20: syntax error: A “:” can't go after this identifier. (-2740)\n', killed: false, code: 1, signal: null } 

也许这跟cmd的双引号有什么关系?

可能只是一个引用问题。 这个为我工作:

 $ node -v && node v0.4.8 > var cmd = 'osascript -e \'open location \"http://google.com\"\''; > require('child_process').exec(cmd, function (error, stdout, stderr) { console.log(error); }); 

顺便说一句,如果你只是想打开一个URL,则不需要通过AppleScript。 只需使用打开命令:

 > var cmd = 'open \"http://google.com\"';