首页 > 解决方案 > 如何在 bash 脚本中执行 mongodb 命令

问题描述

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

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

我想在我的 sample.sh 文件中运行以下命令。它是 bash 脚本。我想 mongo 命令在文件内运行,而不是在 shell 内。

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",pwd:"123456",roles:[{role:"root",db:"admin"}]})'


标签: linuxmongodbbashkubernetescontainers

解决方案


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

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


推荐阅读