インタラクティブなMongoシェルを止めることなく、bashスクリプトからコマンドをMongoシェルに渡す - linux、bash、mongodb、shell

私はbashスクリプトを作成しようとしています。リモートのMongoデータベースに接続し、対話型Mongoシェルを初期化し、対話型Mongoシェルに2つのコマンドを発行し、対話型シェルを継続して実行できるようにします。

現在、私はMongoデータベースに接続し、bashスクリプト内でコマンドを実行することができると理解しています。

mongo <ip>:<port>/<database> --eval "db.auth("myuname", "mypass");"

しかし、私は自分のbashスクリプトで上記のコマンドを実行して、初期化されたMongoシェルを実行したままにして、それを使い続けて自分自身でコマンドを入力できるようにします。上記のコマンドを実行した後、Mongoシェルが作成され、与えられた直後に停止するようです db.auth() コマンドが実行されますが、この時点でシェルが実行されたままにしておきたいと思います。

回答:

回答№1は4

使用 --shell オプションに加えて --eval オプション。これにより、mongoシェルセッションは対話モードで開いたままになります。 --eval コードが実行されます:

mongo --shell --eval "printjson("Hello, World!")"

コマンドを入力することもできます ~/.mongorc.js そして /etc/mongorc.js シェルが現在のユーザーによって起動されたとき、または起動されるたびにシェルが実行されることを示します。を参照してください ファイルセクション mongoシェルドキュメントの。


関連する質問
メニュー
最も人気のある