mongo shell中特殊判斷符號轉義的問題

2021-09-24 03:34:59 字數 1037 閱讀 1987

[root@mongo ~]# bash -x t.sh

+ /usr/local/mongodb/bin/mongo 127.0.0.1:37017/test -uadmin -padmin --quiet --eval 'printjson(db.tickets.findone(},))'

fri apr 26 15:32:49 syntaxerror: invalid property id (shell eval):1

用bash來進行除錯問題,會在介面輸出執行命令

/usr/local/mongodb/bin/mongo 127.0.0.1:37017/test -uadmin -padmin --quiet --eval "printjson(db.tickets.findone(},))"

-- 在賦予變數的時候,有的轉義需要賦予2個\\才行,比如$lt等

在``裡的\$lt執行之前就被轉義成$lt,但是在執行時$lt又被執行了,然後就是空。``裡的\\$lt解析時被轉義成\$lt,執行時就是$lt了,應該就是這樣的。

[root@mongo ~]# bash -x m.sh

+ (( i=1 ))

+ (( i<=2 ))

++ /usr/local/mongodb/bin/mongo 127.0.0.1:37017/test -uadmin -padmin --quiet --eval 'printjson(db.tickets.findone(},))'

+ objectid=''

+ (( i++ ))

+ (( i<=2 ))

++ /usr/local/mongodb/bin/mongo 127.0.0.1:37017/test -uadmin -padmin --quiet --eval 'printjson(db.tickets.findone(},))'

+ objectid=''

+ (( i++ ))

+ (( i<=2 ))

[root@mongo ~]#

now, it  is okay !

mybatis if判斷中的特殊符號

在使用mybatis 時我們sql是寫在xml 對映檔案中,如果寫的sql中有一些特殊的字元的話,在解析xml檔案的時候會被轉義,但我們不希望他被轉義,所以我們要使用來解決。是什麼,這是xml語法。在cdata內部的所有內容都會被解析器忽略。如果文字包含了很多的 字元 和 字元 就象程式 一樣,那麼...

判斷不能輸入特殊字元

1.我們新開頁面如何返回到主頁面 返回 2.我們在web窗體中如何判斷使用者在文字框中輸入內容的長度,假如現在我們要設定乙個文字框中輸入的使用者名稱可以使中文英文數字並且長度為50個字元,這裡乙個漢字等於2個字元,我們如何實現呢,如果我們js裡直接用lenght,那麼對於輸入的英文是可以做出判斷的,...

shell邏輯判斷,if特殊用法

shell中的邏輯判斷 格式1 if 條件 then 語句 fi 格式2 if 條件 then 語句 else 語句 fi 格式3 if then elif then else fi 邏輯判斷表示式 if a gt b if a lt 5 if b eq 10 等 gt lt ge le eq ne...