/*-------------------------------------------------------------------------------------------
@黑眼詩人 <www.farwish.com>
--------------------------------------------------------------------------------------------*/
一. 通配符:
? 匹配一個任意字符。
* 匹配0個一個或多個任意字符。
[] 匹配中括號中任意一個字符。
[-] 匹配中括號中任意一個字符,- 代表范圍。
[^] 邏輯非,匹配不是中括號內的一個字符
通配符是用來匹配文件名的:
mkdir tmp;
touch abc;
touch 0abc;
touch abcd;
touch aabc;
ls *abc; #匹配abc,0abc,aabc
ls *abc*; #匹配abcd
ls ?abc; #匹配0ab,aabc
ls [0-9]abc; #匹配0abc
ls [^0-9]abc; #匹配aabc
二. 特殊符號:
單引號(' '):在單引號中所有的特殊符號,都沒有特殊含義。
雙引號(" "):在雙引號中特殊符號都沒有特殊含義。但是"$", "`" 和 "/" 例外,擁有"調用變量的值","引用命令" 和 "轉義符"的特殊含義。
反引號(``):反引號括起來的內容是系統命令,在Bash中會先執行它,和$()作用一樣,推薦使用$(),因為反引號非常容易看錯。
$():和反引號作用一樣,用來引用系統命令。
#:在Shell腳本中,#開頭的行代表注釋。
$:用于調用變量的值,如需要調用變量name的值,需要用$name的方式得到變量的值。
/:轉義符,跟在/之后的特殊符號將失去特殊含義,變為普通字符。如/$將輸出"$"符號,而不當做是變量引用。
name=www.chenwei.ws
echo $name # www.chenwei.ws
echo '$name' # $name
echo "$name" # www.chenwei.ws
ab=`date`
echo $ab # 2014年 08月 18日 星期一 21:25:52 CST
echo $(date) #2014年 08月 18日 星期一 21:25:52 CST
新聞熱點
疑難解答