在nodejs中,执行外部命令的唯一方法是通过sys.行政长官(命令).我想调用一个外部命令,并通过stdin给它提供数据.在nodejs中,似乎还没有一种方法可以打开一个命令,然后将数据推送到该命令(仅用于执行并接收其标准+错误输出),因此我现在要做的唯一方法似乎是通过一个字符串命令,例如:
var dangerStr = "bad stuff here";
sys.exec("echo '" + dangerStr + "' | somecommand");
对这类问题的大多数回答都集中在正则表达式上,正则表达式在nodejs中不适用(它使用谷歌的v8javascript引擎),或者来自其他语言(如Python)的本机特性.
我想避开dangerStr,这样就可以安全地编写一个像上面那样的exec字符串.如果有帮助,dangerStr将包含JSON数据.