child process api को node.js. में खोल स्क्रिप्ट निष्पादित करने के लिए उपयोग किया जा सकता है।शैल विकल्प का उपयोग कर Node.js child_process के साथ बैश का उपयोग
इम child_process.exec (आदेश [, विकल्प], कॉलबैक) समारोह
एक विकल्प कार्यकारी के उपयोगकर्ता खोल सेट कर सकते हैं के रूप में उपयोग करते हुए: '/ path/to/खोल' फ़ील्ड का चयन करने के इस्तेमाल करने के लिए खोल। ('/ Bin/sh' के लिए डिफ़ॉल्ट)
{shell: '/ bin/bash'} पर विकल्प सेट करने से निष्पादन को बैश के साथ कमांड नहीं चलाया जाता है।
मैंने "echo $ 0" आदेश जारी करके इसे सत्यापित किया है जो "/ bin/sh" प्रिंट करता है।
मैं शैल विकल्प के माध्यम से child_process.exec के साथ बैश का उपयोग कैसे कर सकता हूं?
(मेरा लक्ष्य bashrc में मेरा पथ परिभाषाओं का उपयोग करना, अब है जब मैं घुरघुराना द्विआधारी नहीं पाया जा सकता है इस्तेमाल करने की कोशिश। CWD, विकल्प शब्दकोश काम करता है के रूप में उम्मीद में वर्तमान कार्यशील निर्देशिका सेटिंग)
----------------- अद्यतन, उदाहरण के
'use strict';
var cp = require('child_process');
cp.exec('echo $0', { shell: '/bin/bash' }, function(err, stdout, stderr){
if(err){
console.log(err);
console.log(stderr);
}
console.log(stdout);
});
आउटपुट:
/bin/sh
which bash
प्रिंट: /bin/bash
वास्तव में काम करता है, ऐसा लगता है कि ओपी नोड के पुराने संस्करण पर है जहां यह समर्थित नहीं है (मुझे एक ही समस्या थी) – Yousef