Problema del módulo principal child_process.exec con el comando <().
Ejecuté el mismo comando en mi shell bash y zsh, todo funciona bien. Una vez que copio el mismo comando en el código, aparece este error.
Comando de Shell:
comm -13 <(sort new.csv | uniq) <(sort old.csv | uniq) > diff.csv
Al ejecutar el mismo comando de shell, me arroja un error:
/bin/sh: -c: line 0: syntax error near unexpected token `('
/bin/sh: -c: line 0: `comm -13 <(sort new.csv | uniq) <(sort old.csv | uniq) > diff.csv'
Código:
exec(`comm -13 <(sort new.csv | uniq) <(sort old.csv | uniq) > diff.csv`,
(error, stdout, stderr) => {
if (error) {
return error
}
console.log(`${stdout}`)
console.log(`${stderr}`)
})
Después de solucionar el problema, creo que el problema es con <(
parte del comando.
Intente pasar la opción shell
a child_process.exec
, por ejemplo, { "shell": "/bin/bash" }
, cuando esté utilizando una sintaxis específica de shell como esta
Obras. Muchísimas gracias.
Oye,
Estoy enfrentando el mismo problema.
exec('jsdoc -X ./src/!(selector)/*.js > ./documentation/jsdocAST.json', { "shell": "/bin/bash" },(err, stdout, stderr) => {
if (err) {
//some err occurred
console.error(err)
} else {
// the *entire* stdout and stderr (buffered)
console.log(`stdout: ${stdout}`);
console.log(`stderr: ${stderr}`);
}
});
¿no es correcto?
Comentario más útil
Intente pasar la opción
shell
achild_process.exec
, por ejemplo,{ "shell": "/bin/bash" }
, cuando esté utilizando una sintaxis específica de shell como esta