से साइगविन कमांड निष्पादित करें नोड के child_process
मॉड्यूल का उपयोग करके, मैं साइगविन खोल के माध्यम से आदेश निष्पादित करना चाहता हूं। यह मैं क्या कोशिश कर रहा हूँ है:नोडजेएस
var exec = require('child_process').execSync;
exec('mkdir -p a/b/c', {shell : 'c:/cygwin64/bin/bash.exe -c'});
TypeError: invalid data at WriteStream.Socket.write (net.js:641:11) at execSync (child_process.js:503:20) at repl:1:1 at REPLServer.defaultEval (repl.js:262:27) at bound (domain.js:287:14) at REPLServer.runBound [as eval] (domain.js:300:12) at REPLServer. (repl.js:431:12) at emitOne (events.js:82:20) at REPLServer.emit (events.js:169:7) at REPLServer.Interface._onLine (readline.js:212:10)
मैं Node's child_process.js will add the /s
and /c
switches देख सकते हैं, shell
विकल्प सेट किया जा रहा है की परवाह किए बिना, bash.exe क्या इन तर्कों से कोई लेना देना नहीं जानता है।
मैं इस समस्या के लिए चारों ओर एक काम मिल गया लेकिन यह वास्तव में आदर्श नहीं है:
exec('c:/cygwin64/bin/bash.exe -c "mkdir -p a/b/c"');
ऊपर कर स्पष्ट रूप से केवल Windows नहीं यूनिक्स सिस्टम पर काम करेगा।
मैं नोडजेएस से सिग्विन खोल में कमांड कैसे निष्पादित कर सकता हूं?