命令在脚本中失败,在命令行中运行

时间:2011-11-14 15:37:47

标签: mongodb command-line

我有一个简单的脚本来从MongoDB导出:

#!/bin/sh -x

QUERY="'{ \"type\":\"listing\" }'"

mongoexport --db event --collection listing --query $QUERY --fields type,name --csv

(我使用-x开关进行调试)

这是我运行脚本时的输出:

$ ./simple_query.sh 
+ QUERY='{ "type":"listing" }'
+ mongoexport --db event --collection listing --query '{ "type":"listing" }' --fields type,name --csv
ERROR: too many positional options

但是,如果我只是将mongoexport行复制并粘贴到提示符下,它就可以了!发生了什么事?

(使用MongoDB 2.0.0)

1 个答案:

答案 0 :(得分:0)

您使用的是较早版本的mongodb吗?如果是这样,也许是this错误。它固定在2.0.0- *版本。

修改:实际上这可能是另一个问题。您可以通过删除查询中的空格来修复它。空间似乎让shell认为它实际上是多个参数:

QUERY="'{\"type\":\"listing\"}'"