1

私はおそらくこれを大いに見逃していることを知っています、

しかし、これがエラーを返し続ける理由を知っている人はいますか?

$ 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?の二重引用符と関係があります。

4

2 に答える 2

3

おそらく単なる引用の問題です。これは私のために働きます:

$ 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 を使用する必要はありません。openコマンドを使用するだけです。

> var cmd = 'open \"http://google.com\"';
于 2011-06-07T11:24:02.010 に答える
0

これは、現在のノード バージョンのバッククォートによって簡素化されています

$ 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コマンドの場合

var cmd = `open "http://google.com"`
于 2018-07-02T17:26:40.970 に答える