Javascript 获取/bin/sh:1:语法错误:“0”;(“尝试在meteorjs上执行shell命令(comm)时意外

Javascript 获取/bin/sh:1:语法错误:“0”;(“尝试在meteorjs上执行shell命令(comm)时意外,javascript,node.js,linux,shell,meteor,Javascript,Node.js,Linux,Shell,Meteor,我试图执行一个(comm)命令逐行比较两个文件,当我像这样直接从终端运行代码时,它工作得很好 comm -3 <(sort ~/jobs/suppression/server/maillists/address/newList_md5.csv) <(sort ~/jobs/suppression/server/maillists/address/newSuppressionList.csv) > ~/jobs/suppression/server/maillists/Terce

我试图执行一个(comm)命令逐行比较两个文件,当我像这样直接从终端运行代码时,它工作得很好

comm -3 <(sort ~/jobs/suppression/server/maillists/address/newList_md5.csv) <(sort ~/jobs/suppression/server/maillists/address/newSuppressionList.csv) > ~/jobs/suppression/server/maillists/Tercero.csv
这里是我试图用“comm”命令实现的一段代码,但它总是在meteorjs服务器中返回错误

lr.on('end', Meteor.bindEnvironment(function(){
    var suppression;
    var op;
    for(var sp = 0; sp < suppressionLists.length; sp++){
        suppression = SuppressionLists.findOne({_id: suppressionLists[sp]}).name;

        // -------------- This is what I'm having problems with -------------
        op = process_exec_sync("comm -3 <(sort ~/jobs/suppression/server/maillists/"+list.userId+"/"+listName+"_md5.csv) <(sort ~/jobs/suppression/server/maillists/"+list.userId+"/"+suppression+") > ~/jobs/suppression/server/maillists/Tercero.csv")
        //-------------------------------------------------------------------
    }

    if (op.error) {
        throw new Meteor.Error("exec-fail", "Error running this: " + op.error.message);
        future['return']("error");
    }
    else
    {
        future['return']("success");
    }
}));
lr.on('end',Meteor.bindEnvironment(function()){
无功抑制;
var-op;
对于(var sp=0;spop=process\u exec\u sync(“comm-3它正在使用/bin/sh-这可能与默认shell(bash?)不同)在op=process\u exec\u sync开始的行中尝试在“xxx”的任何位置使用单引号,而不是双引号“xxx”,它正在使用/bin/sh-这可能与默认shell(bash?)不同在起始op=process\u exec\u sync行中,尝试在“xxx”处使用单引号,而不是双引号“xxx”
lr.on('end', Meteor.bindEnvironment(function(){
    var suppression;
    var op;
    for(var sp = 0; sp < suppressionLists.length; sp++){
        suppression = SuppressionLists.findOne({_id: suppressionLists[sp]}).name;

        // -------------- This is what I'm having problems with -------------
        op = process_exec_sync("comm -3 <(sort ~/jobs/suppression/server/maillists/"+list.userId+"/"+listName+"_md5.csv) <(sort ~/jobs/suppression/server/maillists/"+list.userId+"/"+suppression+") > ~/jobs/suppression/server/maillists/Tercero.csv")
        //-------------------------------------------------------------------
    }

    if (op.error) {
        throw new Meteor.Error("exec-fail", "Error running this: " + op.error.message);
        future['return']("error");
    }
    else
    {
        future['return']("success");
    }
}));
  I20161102-14:54:28.605(-4)? Exception in callback of async function: Error: Error running this: Command failed: /bin/sh -c sudo bash comm -3 <(sort ~/jobs/suppression/server/maillists/JCHWE8j9q7NnTbgE7/newList_md5.csv) <(sort ~/jobs/suppression/server/maillists/JCHWE8j9q7NnTbgE7/newSuppressionList.csv) > ~/jobs/suppression/server/maillists/Tercero.csv
    I20161102-14:54:28.605(-4)? /bin/sh: 1: Syntax error: "(" unexpected
    I20161102-14:54:28.606(-4)?  [exec-fail]
    I20161102-14:54:28.611(-4)?     at app/server/methods.js:321:13
    I20161102-14:54:28.612(-4)?     at runWithEnvironment (packages/meteor/dynamics_nodejs.js:110:1)