2012-01-30 55 views
0

我需要通过命令行参数传递js变量。选项--eval做到了这一点。但它也默认将变量值打印到shell。我想跳过打印到shell的变量值。 当使用“mongo --eval”跳过打印到标准输出

例如: -
我曾用 “USER_NAME” 的的script.js

传递使用蒙戈--eval = “USER_NAME = '约翰'” 的script.js
值内,但它未必然打印该值
   约翰

任何想法。

回答

0

有一个--quiet标志 - 但评估的项目仍然打印到标准输出。

你可以管到/ dev/null或文件捕获标准输出如:

mongo --eval="user_name='john'" script.js > /dev/null 
+0

感谢罗斯。但我已将stdout重定向到一个特定的文件用于其他目的,因为我在js中有print语句。找到了将输出重定向到文件之后,从输出文件中删除评估项目的方法。 – sudesh 2012-01-30 10:53:21

0

对于你可以在你的声明中使用var这种使用情况。这将不打印该值:

mongo --eval="var user_name='john';" script.js 
相关问题