javascript - 如何使用 '>' 在 Node.js 中重定向输出?

标签 javascript linux node.js

例如假设我想复制简单的命令

echo testing > temp.txt

这是我试过的

var util  = require('util'),
    spawn = require('child_process').spawn;

var cat = spawn('echo', ['> temp.txt']);
cat.stdin.write("testing");
cat.stdin.end();

不幸的是没有成功

最佳答案

您不能将重定向字符 (>) 作为参数传递给 spawn,因为它不是命令的有效参数。 您可以使用 exec 而不是 spawn,它会在单独的 shell 中执行您提供的任何命令字符串,或者采用以下方法:

var cat = spawn('echo', ['testing']);

cat.stdout.on('data', function(data) {
    fs.writeFile('temp.txt', data, function (err) {
        if (err) throw err;
    });
});

关于javascript - 如何使用 '>' 在 Node.js 中重定向输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10001493/

相关文章:

javascript - 用于将字符串拆分为数组并替换数组元素的正则表达式?

linux - 运行 hello-world 的 Oracle Linux 上的 “Error response from daemon: Cannot start container … no such file or directory”

linux - 如何在 Bash/Grep 中转义单引号?

node.js - Node 和/或npm问题

javascript - 如何创建应用独立的通知服务器?

javascript - 将额外参数传递给 NodeJs Http 回调方法

javascript - Angular 2 路由器动画 - 找不到模块 '@angular/platform-browser/animations'

javascript - JS Intl 符号后的空格

javascript - gotoSlide(index) 在 sliderPro 中不起作用

linux - Linux 上是否有任何命令可以将 .tar.gz 文件转换为 .zip?