从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\"';