1. 程式人生 > >Biu Biu Biu ~~~~~

Biu Biu Biu ~~~~~

shell
1 萬用字元
* 匹配0個或多個任意字元
? 匹配一個任意字元
[若干字元] 匹配方括號中任意一個字元的一次出現

2 命令代換
$ VAR=`date`
$ echo $VAR
Tue May 22 16:15:29 CST 2018

3 算術代換
$ VAR=40
$ echo $((VAR+33))
73
$ echo $(($VAR+33))
73
$ echo $[VAR+33]
73
$ echo $[$VAR+33]
73

4 進位制轉換
$ echo $[2#10+11]
13
$ echo $[8#10+11]
19
$ echo $[16#10+11]
27

5 條件測試
$ test $VAR -lt 31
$ echo $?
0
$ test $VAR -lt 29
$ echo $?
1
[ -d DIR ] 如果DIR存在並且是一個目錄則為真
[ -f FILE ] 如果FILE存在且是一個普通檔案則為真
[ -z STRING ] 如果STRING的長度為零則為真
[ -n STRING ] 如果STRING的長度非零則為真
[ STRING1 = STRING2 ] 如果兩個字串相同則為真
[ STRING1 != STRING2 ] 如果字串不相同則為真
$ [ -n $VAR ]
$ echo $?
0
$ [ -z $VAR ]
$ echo $?
1

[ARG1 OP ARG2] OP是-eq(等於)-ne(不等於)-lt(小於)-le(小於等於)-gt(大於)-ge(大於等於)之中的一個


[ ! EXPR ] EXPR可以是上表中的任意一種測試條件,!表示“邏輯反(非)”
[ EXPR1 -a EXPR2 ] EXPR1和EXPR2可以是上表中的任意一種測試條件,-a表示“邏輯與”
[ EXPR1 -o EXPR2 ] EXPR1和EXPR2可以是上表中的任意一種測試條件,-o表示“邏輯或”

$ [ $a -lt $b -a $d -gt $c ]
$ echo $?
1
$ [ $a -lt $b -a $c -gt $d ]
$ echo $?
0