如何在bash脚本中执行mongodb命令

问题描述

我正在尝试通过我的bash脚本文件运行mongo命令。

我有sample.sh-使用./sample.sh

运行

我想在我的sample.sh文件中的命令下面运行。它是bash脚本。 我想让mongo命令在文件中运行,而不是在外壳中运行。

kubectl exec $mongoPodName -c mongo-mongodb -- mongo db.createuser({user:"admin",pwd:"123456",roles:[{role:"root",db:"admin"}]})

我收到以下错误

./generate-service-dbs.sh: line 37: Syntax error near unexpected token `('
./generate-service-dbs.sh: line 37: `kubectl exec $mongoPodName -c mongo-mongodb -- mongo db.createuser({user:"admin",db:"admin"}]})'


解决方法

您不必使用--eval运行命令吗?

kubectl exec $mongoPodName -c mongo-mongodb -- mongo --eval 'db.createUser({user:"admin",pwd:"123456",roles:[{role:"root",db:"admin"}]})'