无法使用node.js执行脚本外壳

时间:2018-08-06 14:20:02

标签: node.js shell docker

我正在尝试使用子进程使用node.js执行脚本外壳

initiateShipment.js

const { execFile } = require('child_process');
execFile('/home/nadhem/TradeFinance/Backend/SmartContract/initiateShipment.sh', 

(err, stdout, stderr) => {
  if (err) {
      console.log(err);
    return err;
  }

  // the *entire* stdout and stderr (buffered)
  console.log(`stdout: ${stdout}`);
  console.log(`stderr: ${stderr}`);
});

initialShipment.sh

docker exec -i cli peer chaincode invoke -o orderer.fte.com:7050  --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/fte.com/orderers/orderer.fte.com/msp/tlscacerts/tlsca.fte.com-cert.pem -C tradechannel -n tradefinancecc -c '{"Args":["initiateShipment","FTE_2"]}'

执行时出现此错误

{ Error: Command failed: /home/nadhem/TradeFinance/Backend/SmartContract/initiateShipment.sh
the input device is not a TTY

    at ChildProcess.exithandler (child_process.js:275:12)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at maybeClose (internal/child_process.js:925:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
  killed: false,
  code: 1,
  signal: null,
  cmd: '/home/nadhem/TradeFinance/Backend/SmartContract/initiateShipment.sh' }

NB:当我在终端中执行此脚本时,它可以正常工作

0 个答案:

没有答案