2015-01-30 3 views
5

원격 Mongo 데이터베이스에 연결하고 대화 형 Mongo 셸을 초기화하고 대화 형 Mongo 셸에 몇 가지 명령을 실행하는 bash 스크립트를 만들려고합니다. 대화식 셸을 계속 실행하여 명령을 계속 입력 할 수있게합니다.대화 형 Mongo 셸을 중단하지 않고 bash 스크립트에서 Mongo 셸로 명령을 전달합니다.

현재, 난과 같이 떠들썩한 파티 스크립트 내에서에 몽고 데이터베이스에 연결하고 명령을 실행할 수 있음을 이해 그러나

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

, 나는 위의 명령을 실행하는 내 bash는 스크립트를 싶습니다, 그런 다음 초기화 된 Mongo 셸을 계속 사용하여 계속 사용하고 명령을 직접 입력 할 수 있습니다. 위의 명령을 실행 한 후 Mongo 셸이 만들어지고 주어진 db.auth() 명령이 실행 된 직후 중지 된 것으로 보입니다. 그러나이 시점 이후에 셸을 계속 실행하고 싶습니다.

답변

4

옵션 외에도 --shell 옵션을 사용하십시오. --eval 코드가 실행 된 후이 대화 형 모드에서 열려 몽고 쉘 세션을 유지합니다 :

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

당신은 또한 현재 사용자 또는 매 시간 시작될 때 쉘이 실행됩니다 ~/.mongorc.js/etc/mongorc.js에서 명령을 넣을 수 있습니다 그것은 각각 시작된다. mongo 셸 문서의 files section을 참조하십시오.

+0

감사합니다. 이것은 내가 찾고 있었던 바로 그 것이다. –