- 論壇徽章:
- 0
|
本帖最后由 lizhaoyu 于 2013-04-05 19:18 編輯
Shell_HAT 發(fā)表于 2013-04-05 16:01 ![]()
打開(kāi)ABS,看看第81頁(yè)。
Advanced Bash-Scripting Guide 3.9.1 中文版.pdf
如ABS所說(shuō):
使用[[ ... ]]條件判斷結(jié)構(gòu), 而不是[ ... ], 能夠防止腳本中的許多邏輯錯(cuò)誤. 比如, &&, ||, <, 和> 操作符能夠正常存在于[[ ]]條件判斷結(jié)構(gòu)中, 但是如果出現(xiàn)在[ ]結(jié)構(gòu)中 的話, 會(huì)報(bào)錯(cuò).
操作符 '<' '>'出現(xiàn)在[]中,必須引起來(lái),否則會(huì)當(dāng)成重定向符:- ~ zhaoyuli$[ 1 < 2 ];echo $?
- -bash: 2: No such file or directory
- 1
- ~ zhaoyuli$[ 1 '<' 2 ];echo $?
- 0
復(fù)制代碼 操作符'&&', '||' 不能出現(xiàn)在[]中,只能連接多個(gè)[]判斷- ~ zhaoyuli$[ 0 '<' 1 && 1 '=' 1 ];echo $?
- -bash: [: missing `]'
- 2
- ~ zhaoyuli$[ 0 '<' 1 ] && [ 1 '=' 1 ];echo $?
- 0
復(fù)制代碼 結(jié)論: [[]]靠譜很多,[]不用也罷 |
|