微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我正在尝试在节点中重新复制shelljs exec类型执行

如何解决我正在尝试在节点中重新复制shelljs exec类型执行

我以前曾经用shelljs调用过这样的命令:

require('shelljs/global');

let res = exec('echo hello').stdout

但是我想在不依赖shelljs的情况下在节点中实现这一点。 问题是我发现了node的示例,但是我遇到了很多麻烦。 感谢您的帮助

解决方法

最简单的答案是使用synchronousexec版本。该命令不会在命令运行时显示stdout,结果将不会具有shelljs提供的出色属性,仅包含stdout数据

const { execSync } = require('child_process')
const exec = (cmd) => execSync(cmd).toString()
const res = exec('echo "hello there"')

完整的shelljs实现在exec.js中,该脚本通过exec-child.js脚本运行命令以启用实时输出+捕获到同步exec的变量。这取决于您需要的解决方案的复杂程度。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。