我试图捕获shell exec的stdout,并将其分配给一个常量,以便以后检索。
//const { exec } = require("child_process");
const { promisify } = require('util');
const exec = promisify(require('child_process').exec)
async function shellexec2(command){
const commandout = await exec(command)
return { commandout }
};
var sentnlURL = "https://testapi.test.io/"
var origin = 'Origin: http://www.test.io'
var method = 'Access-Control-Request-Method: GET'
var corscheck = "curl -I -X OPTIONS -H "+origin+" -H "+method+" "+sentnlURL+" 2>&1 | grep -i 'Access-Control-Allow-Origin'"
var t = shellexec2(corscheck)
console.log(t)
我得到的唯一输出是Promise
因为shellexec2
是一个用async
标记的函数,它返回一个承诺,所以您需要解包它以获取值。 我会这样写:
//const { exec } = require("child_process");
const { promisify } = require('util');
const exec = promisify(require('child_process').exec)
async function shellexec2(command){
const commandout = await exec(command)
return { commandout }
};
(async function main(){
var sentnlURL = "https://testapi.test.io/"
var origin = 'Origin: http://www.test.io'
var method = 'Access-Control-Request-Method: GET'
var corscheck = "curl -I -X OPTIONS -H "+origin+" -H "+method+" "+sentnlURL+" 2>&1 | grep -i 'Access-Control-Allow-Origin'"
var t = await shellexec2(corscheck)
console.log(t)})();