質問: exec(com, function(error) { context.done(error, 'Process complete!')}); ``` ※実際には、${url}に接続先を指定しています。 ・上記の場合、'testuser:06testpw'が引き渡されます。 ・’testuser:'+'\06'+'testpw'とすると、'testuser:testpw'が引き渡されます。 ・'\\06testpw'を指定すると、'\\06testpw'そのままになってしまいます。 Encodeなどいろいろ試しましたが、うまくいきませんでした。。 お力添えいただきたく、よろしくお願いいたします。
回答: `child_process.exec`は > > Runs a command in a shell and buffers the output. > > > とのことですので、`exec`に渡した値が改めてシェルによって再度解析されます。`curl`に引数`--globoff`, `-u`, `testuser:\06testpw`, `${url}`を渡したいのであれば`exec`には ``` curl --globoff -u testuser:\\06testpw ${url} ``` を渡す必要があり、JavaScriptコードでは ``` var com = 'curl --globoff -u testuser:\\\\06testpw ${url}'; ``` と2重エスケープすればいいのではないでしょうか? > > '\06testpw'を指定すると、'\06testpw'そのままになってしまいます。 > > > これは本当でしょうか? 単に成功しないことと`\\06testpw`になることは別問題ですが、どのように確認されたのでしょうか?