【发布时间】:2020-07-20 06:20:27
【问题描述】:
我正在尝试从 post 请求运行 shell 脚本,我想将 post 请求中的参数传递给这个 shell 脚本。
const Helpers = use('Helpers')
const util = require('util')
const exec = util.promisify(require('child_process').exec)
const shellCommand = Helpers.appRoot('shellCommand.sh')
class someController {
async generate({ request, response }) {
let { VERSION } = request.body
try {
await exec(shellCommand + VERSION, function (error, stdout, stderr) {
if (error !== null) {
console.log(error);
} else {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
}
})
}
catch (error) {
console.log(error);
}
await response.send(JSON.stringify({ "status": 200, "message": "generate success", "version": version}))
}
}
这就是我尝试在我的 shell 命令中获取参数的方式。
VERSION = $1
如果我尝试运行该服务,这就是我得到的结果。它将参数作为文件名的补充传递。我知道这不是在 Adonis JS 中将参数传递给 shell 脚本的正确方法,我已经搜索了互联网但找不到这样做的方法。 error
【问题讨论】:
标签: javascript shell parameter-passing child-process adonis.js