mongo スニペットを評価する「ラッパー」bash エイリアス関数を作成しようとしています
alias mongoshelleval=mongoshelleval
mongoshelleval(){
mongo --verbose --eval $1 $db
}
そして、スニペットをenv変数として保存しています
export delsessions='"db.sessions.drop()"'
私は物事を実行します
mongoshelleval $delsessions
しかし、それは操作を実行しません。それだけ
$ mongoshelleval $delsessions
MongoDB シェル バージョン: 2.4.8
Thu Aug 07 03:50:18.809 versionArrayTest が
接続先に渡されました: db
Thu Aug 07 03:50:18.861 への新しい接続の作成:127.0.0.1:27017
Thu Aug 07 03:50: 18.867 BackgroundJob 開始: ConnectBG
Thu Aug 07 03:50:18.870 接続接続!
db.sessions.drop()
Thu Aug 07 03:50:18.880 収集されていない 1 つのクラス mongo::DBClientWithCommands オブジェクトを解放する
エラーをスローすることなく。引数を出力するだけですdb.sessions.drop()
そして、セッションはまだそこにあります
$ mongoshell
MongoDB シェル バージョン: 2.4.8
接続先: db
db.sessions.find()
{ "_id" : "yr5rxguSbb32Q880Jj36Rq2_uU
{ "_id" : "9PQh_ml5Gloiaunv6pbgVevM_6
{ "_id" : "OacGUyf-V1DcTQIg3lMgFXUL-N
: "_id" "GC7gh09iqVUny9HM8gnGl9Hzxt
{"_id":"_f4koE0tagJ7vwuU76BatcDeEb {"_id
":"t1CX_eqi7FcCREfBB2X5CpgOcz
意図したとおりに動作しないのはなぜですか? また、クエリを実行していないのにエラーが発生しないのはなぜですか?