小编Aar*_*our的帖子

如何使用Unix管理Node.js脚本 管道(在命令行上)?

我看到如何使用Node.js流将各种东西连接在一起,但是如何使用Unix将多个脚本连接在一起|,因为其中一些脚本可以是异步的?

$ ./a.js | ./b.js
Run Code Online (Sandbox Code Playgroud)

例:

a.js(chmod 0755)

#!/usr/bin/env node

setTimeout(function(){
  console.log(JSON.stringify({ foo: 'bar' }));
}, 10);
Run Code Online (Sandbox Code Playgroud)

b.js(chmod 0755)

#!/usr/bin/env node

console.log(process.argv);
Run Code Online (Sandbox Code Playgroud)

这是输出:

$ ./a.js | ./b.js
[ 'node', '/Users/viatropos/tests/b.js' ]

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: write EPIPE
    at errnoException (net.js:883:11)
    at Object.afterWrite (net.js:700:19)
Run Code Online (Sandbox Code Playgroud)

乍一看似乎有很多问题,所以不确定从哪里开始.有没有办法让这个工作?最终目标是能够从中获取console.log输出./a.js并将其用于./b.js.原因是,大多数情况下这些脚本将一次运行一个,但有时将它们组合在一起会很好,所以理想情况下系统应该能够处理这两种情况.

javascript unix pipe command-line-interface node.js

38
推荐指数
1
解决办法
1万
查看次数

exec()C中的任何命令

在C中说,我想调用execvp()任何字符串命令.命令可以是:

char command[] = "ls -l";
char command[] = "rm *.txt";
char command[] = "cat makefile";
Run Code Online (Sandbox Code Playgroud)

我想把这个命令变量放在里面execvp().因此,exec()调味函数可以使用任何类型的任意命令运行.

我怎样才能做到这一点?谢谢.

注意:system()不允许.

c linux shell execvp

8
推荐指数
2
解决办法
2万
查看次数

HTML5视频帧捕获到位图

我有这个脚本:

function capture(video, scaleFactor) {
    if(scaleFactor == null){
        scaleFactor = 1;
    }
    var w = video.videoWidth * scaleFactor;
    var h = video.videoHeight * scaleFactor;
    var canvas = document.createElement('canvas');
    canvas.width  = w;
    canvas.height = h;
    var ctx = canvas.getContext('2d');
    ctx.drawImage(video, 0, 0, w, h);


    return canvas;
} 


function shoot(){
    var video  = document.getElementById(videoId);
    var output = document.getElementById('output');
    var canvas = capture(video, scaleFactor);
    canvas.onclick = function(){
        window.open(this.toDataURL());
    };
    snapshots.unshift(canvas);
    output.innerHTML = '';
    for(var i=0; i<1; i++){
        output.appendChild(snapshots[i]);
    }

}
Run Code Online (Sandbox Code Playgroud)

我想要做的是将快照导出到位图图像.我读到我可以使用这一行:

canvas.toDataURL('image/jpeg');
Run Code Online (Sandbox Code Playgroud)

但我不知道在哪里添加它. …

javascript html5-video html5-canvas

6
推荐指数
1
解决办法
3904
查看次数

Bash脚本自动测试程序输出 - C.

我是编写脚本的新手,我无法弄清楚如何开始使用bash脚本,该脚本将根据预期输出自动测试程序的输出.

我想编写一个bash脚本,它将在一组测试输入上运行指定的可执行文件,例如in1 in2等,对应相应的预期输出,out1,out2等,并检查它们是否匹配.要测试的文件从stdin读取其输入并将其输出写入stdout.因此,在输入文件上执行测试程序将涉及I/O重定向.

将使用单个参数调用该脚本,该参数将是要测试的可执行文件的名称.

我正在努力解决这个问题,所以任何帮助(链接到任何进一步解释我如何做到这一点的资源)将不胜感激.我显然已经尝试过自己寻找,但在这方面并不是很成功.

谢谢!

bash automated-tests

6
推荐指数
2
解决办法
7448
查看次数

andmap和null?返回假

我想确定一个列表是否只包含null. null?似乎是明显的选择:

> (null? null)
#t
Run Code Online (Sandbox Code Playgroud)

但是andmap,这并不是我所期望的:

> (andmap null? '(null))
#f
Run Code Online (Sandbox Code Playgroud)

我误会了null?还是andmap?我是Racket的新手,但这根本不适合基于文档.

null scheme racket

3
推荐指数
1
解决办法
202
查看次数

Python字典json

我正在使用dict创建一个json对象,但我对dict和json有一些问题!

def get(self):

    players = db.GqlQuery("SELECT * FROM Player")

    playerInfo  = {}



    for player in players:
        email = player.email.encode("utf-8")
        gem =  str(player.gem)

        print email
        print gem

        playerInfo["email"] = email
        playerInfo["gem"] = gem


    b = json.dumps(playerInfo)

    self.response.out.write(b)
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我只收到一个和for循环,当我在for循环中打印电子邮件时,我收到了6个结果,但是playerInfo的输出只有1组数据.

{"email": "test1", "gem": "0"}
Run Code Online (Sandbox Code Playgroud)

我的预期结果应该是

{"email": "test1", "gem": "0"},{"email": "test2", "gem": "2"}...
Run Code Online (Sandbox Code Playgroud)

python google-app-engine

1
推荐指数
1
解决办法
854
查看次数