我需要编写一个脚本来从命令行在MongoDB中创建多个用户和角色。
下面是其中一个脚本的示例。
mongo $DB --eval "db.createUser({ user: '$USER', pwd: '$PASS', roles: [ { role: '$ROLE', db: '$DB' } ] });"
我知道在bash中,您可以简单地加反斜杠来压缩冗长的脚本
mongo $DB --eval \
"db.createUser({ user: '$USER', pwd: '$PASS',\
roles: [ { role: '$ROLE', db: '$DB' } ] });"
我尝试了类似于bash的操作,但是脚本将斜杠视为文字字符串。任何想法如何解决该问题?
答案 0 :(得分:1)
问题出在第二行的space
字符后面有一个\
字符。以下命令将为您工作。
mongo $DB --eval \
"db.createUser({ user: '$USER', pwd: '$PASS',\
roles: [ { role: '$ROLE', db: '$DB' } ] });"