I'm comparing the output of childprocess.exec to a string, but I must have overlooked something since I didn't get the expected result.
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;
}
Basically, I check if a file exist, look at the output of the command, and if it is not E (which sign the file exist), download it. The problem is, even when the file exist, the app try to download LINK+E, which doesn't exist and of course fail.
I've tried with === instead of ==, and " instead of ', but it didn't changed anything.
Is there some character in stdout other than E?