Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript if(stdout==“E”总是返回false_Javascript_Node.js_Bash - Fatal编程技术网

Javascript if(stdout==“E”总是返回false

Javascript if(stdout==“E”总是返回false,javascript,node.js,bash,Javascript,Node.js,Bash,我正在将childprocess.exec的输出与字符串进行比较,但我肯定忽略了什么,因为我没有得到预期的结果 function download_all(list, callback){ var i=0, cmd=""; function afterDownload(){...} while(i<list.length) { cmd="[ -f ./downloads/"+list[i]+&quo

我正在将childprocess.exec的输出与字符串进行比较,但我肯定忽略了什么,因为我没有得到预期的结果

function download_all(list, callback){
    var i=0, cmd="";

    function afterDownload(){...}

    while(i<list.length)
    {
        cmd="[ -f ./downloads/"+list[i]+" ] && echo \"E\" || echo\""+list[i]+"\"";
        exec(cmd, function(error, stdout, stderr){
            if(stdout=="E")
            {
                console.log("Already Exist");
            }else{
                console.log("download "+LINK+""+stdout);
                download(LINK+stdout, afterDownload());
            }
        });
        i=i+1;
    }
函数下载\u全部(列表,回调){
var i=0,cmd=“”;
函数afterDownload(){…}
而(iNodeJS)有一个“fs”模块,它可以为您解决这个问题

您可以这样做:

fs.exists(list[i], function (exists) {
  console.log("exists = ", exists);
});

为什么不使用shellUsed fs.existsSync来代替从JS到Bash的Shell?因为我需要检查文件的存在性,如果有JS函数的话,这将是完美的,但是我发现的唯一方法是使用shellUsed fs.existsSync,因为我有参数要发送到回调函数中,但是工作起来很有魅力,非常感谢。