我想从程序执行命令。
const child_process = require("child_process")
const data = parseConfigFile("/path/to/config.json")
const {command, param1, param2, args} = convert(data)
child_process.exec(
`${command} --param1=${param1} --param2=${param2} ${args.join(" ")}`
)
如果command
不是交互式命令,例如node file.js
,cp a.txt b.txt
等,则效果很好
但是,如果command
是交互式命令,例如psql
,php -a
,parted
等,则它不起作用。
我认为有必要将stdin和stdout连接到子进程。
我可以从程序中执行交互式命令吗?
答案 0 :(得分:0)
您可以这样做,您必须拦截stdio和stderr流。
在此处查看示例和说明:https://nodejs.org/api/process.html#process_process_stdin
还请注意,有很多npm模块可提供shell命令访问权限