¿Cómo puedo escapar de una cadena para un comando de shell en el nodo?
Ennodejs, la única forma de ejecutar comandos externos es a través de sys.exec (cmd). Me gustaría llamar a un comando externo y darle datos a través de stdin. En nodejs aún no parece haber una forma de abrir un comando y luego enviar datos (solo para ejecutar y recibir sus salidas de error estándar), por lo que parece que la única forma en que tengo que hacer esto ahora es a través de un comando de una sola cadena como:
var dangerStr = "bad stuff here";
sys.exec("echo '" + dangerStr + "' | somecommand");
La mayoría de las respuestas a preguntas como esta se han centrado en la expresión regular que no funciona para mí en nodejs (que utiliza el motor V8 Javascript de Google) o en funciones nativas de otros idiomas como Python.
Me gustaría escapar de dangerStr para que sea seguro componer una cadena ejecutiva como la de arriba. Si ayuda, dangerStr contendrá datos JSON.