如何在node.js脚本中获得有关stdout重定向文件名的信息

时间:2015-10-31 23:15:08

标签: javascript node.js bash shell read-eval-print-loop

我的问题可能很简单或者可能没有解决方案。所以,我请你帮助我找出如何访问stdout重定向信息到out.txt

git clone file:///home/mamba/programming/so/git/repo.git repo2

特别是我需要访问文件名" out.txt"在脚本do-nothing.js中(即访问process.stdout .______)

提示:我已经注意到process.stdout._type成为' fs'而不是'在应用重定向时。

2 个答案:

答案 0 :(得分:0)

您可以使用此模块https://www.npmjs.com/package/yargs然后另一方面您将此模块命名为https://www.npmjs.com/package/fs如果您需要更复杂的东西,您可以使用子进程包来做什么你需要从args执行一个bash脚本,例如

答案 1 :(得分:-1)

我明白了。这是解决方案,如果您将脚本作为node stdout_redirect.js > out.txt && more out.txt启动,则您在d变量中拥有所需的信息。感谢您的帮助,并希望这有助于其他人。

var fs = require('fs');

fs.readdir(process.env.PWD,function(err, dir){
    var stdout_ino = 0;
    fs.stat('/dev/stdout',function(err,stats){
        stdout_ino = stats.ino;
        dir.forEach(function(d){
            fs.stat(d,function(err,stats){
                if (stats.ino === stdout_ino)
                {
                    console.log(d);
                }
            });
        });
    });
});