1
我只是做了在TCL 8.6以下實驗:TCL表達分析 - 爲什麼撐和支架被轉義不同
% expr \"\{" ne \"x\"
1
% expr \"\[" ne \"x\"
extra characters after close-quote
in expression ""[" ne "x""
第一個命令對我來說很有意義:
- 因爲參數不第一輪解析是腳本級解析,反斜槓轉義被刪除:expr「{」ne「x」
- expr命令繼續解析,「{」和「x」是2引號文字,執行順利。
第二個命令中的錯誤沒有意義。唯一的區別是用支架替換支架,爲什麼它會失敗?
我知道支撐參數是期望表達的,這個問題主要是爲了理解TCL解析。
命令被解析的方式,Tcl interp只是查找傳遞給expr命令的字符串參數。你的字符串參數\「\ [」看起來像在\ [字符後面開始一個字符串,但是該字符串沒有以結尾雙引號結尾。 – MoDJ