首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NodeJS中的exec osascript(AppleScript)

NodeJS中的exec osascript(AppleScript)
EN

Stack Overflow用户
提问于 2011-06-07 16:51:11
回答 2查看 2.2K关注 0票数 1

我知道我可能非常怀念这一切,

但是有人知道为什么它总是返回一个错误吗?

代码语言:javascript
复制
$ 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中的双引号有关

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-07 19:24:02

可能只是一个引用问题。这一条对我很有效:

代码语言:javascript
复制
$ 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); });

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

代码语言:javascript
复制
> var cmd = 'open \"http://google.com\"';
票数 3
EN

Stack Overflow用户

发布于 2018-07-03 01:26:41

在当前节点版本中通过反引号简化了这一点

代码语言:javascript
复制
$ node -v && node
v10.5.0
> let cmd = `osascript -e 'open location "http://google.com"'`
> require('child_process').exec(cmd, function (error, stdout, stderr) { console.log(error) })

和open命令

代码语言:javascript
复制
var cmd = `open "http://google.com"`
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6262802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档