我正在尝试在 bash 脚本中使用从参数化 MongoDB 脚本文件打印的结果。
调用看起来像这样:
mongo --quiet server/db --eval "a='b'" mongoscript.js
在 mongoscript.js 内部有一个 print 语句,它打印我想在 shell 脚本中使用的值“foo”。问题是当我执行上面的语句时我得到:
b
foo
而不仅仅是“foo”
因此,如果我这样做
res=`mongo --quiet server/db --eval "a='b'" mongoscript.js`
res 包含这两行。
我当然可以解决这个问题
res=`mongo ... |tail -n 1`
但我希望有一种更通用的方法来避免这种多余的输出。
Thanks!
多余的输出是您分配的结果a='b'
,它显示在此上下文中的分配结果。
如果您添加var
关键字进行变量赋值,您不应该有任何额外的输出(并且仍然可以使用变量a
在你的脚本中):
$ mongo --quiet --eval "var a='b'" mongoscript.js
foo
您可以在mongo
shell:
> a='b'
b
> var a='b'
>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)