Linux shell特殊字符詳解
[日期:2012-08-13]
來源:Linux社區(qū) 作者:bblxlit
[字體:大 中 小]
() : 創(chuàng)建成組的命令 1) 一組由圓括號括起來的命令是新開一個子shell來執(zhí)行的 因為是在子shell里執(zhí)行,在圓括號里的變量不能被腳本的其他部分訪問。因為父進程(即腳本進程)不能存取子進程(即子shell)創(chuàng)建的變量。 (a=hello; echo $a)2) 數(shù)組初始化. Array=(element1 element2 element3) (( )) : 擴展并計算(( ))里的整數(shù)表達式, 不能用來做浮點計算. {} : 創(chuàng)建命令塊 1) 這個結(jié)構(gòu)也是一組命令代碼塊,事實上,它是匿名的函數(shù)。然而與一個函數(shù)所不同的,在代碼塊里的變量仍然能被腳本后面的代碼訪問。 2) 不像一個用圓括號括起來的命令組,一個用花括號括起的代碼塊不會以一個子shell運行。 “”: 部分引用——可以解釋引號中的變量 ‘’: 完全引用——引號內(nèi)所有的內(nèi)容都是常量 : :空操作——什么都不做。一般用在腳本中。 1) 在必須要有兩元操作的地方作為一個分隔符 : ${username=`whoami`} # ${username=`whoami`} 如果沒有開頭的:,將會出錯,除非"username"是一個外部命令或是內(nèi)建命令. 2) 在參數(shù)替換中為字符串變量賦值 : ${HOSTNAME?} ${USER?} ${MAIL?}# 如果列出的一個或多個基本的環(huán)境變量沒有設(shè)置,將打印出錯信息。 ? : 在參數(shù)替換表達式里,測試一個變量是否被設(shè)置了值. [] : 測試在[ ]中的表達式.
數(shù)組元素——在數(shù)組的上下文中,方括號表示數(shù)組的每個元素的數(shù)字編號. [[]] : 測試在[[]]中的表達式. 1) 在[[和]]之間的所有的字符都不會被文件擴展或是標記分割,但是會有參數(shù)引用和命令替換。 2) 用[[ ... ]]測試結(jié)構(gòu)比用[ ... ]更能防止腳本里的許多邏輯錯誤。比如說,&&,||,<和>操作符能在一個[[]]測試里通過,但在[]結(jié)構(gòu)會發(fā)生錯誤。 << :在here document中使用的重定向.
<<<:在here string中使用的重定向. -:
1) 用于stdin或stdout重定向的源或目的 (cd /source/directory && tar cf - . ) | (cd /dest/directory && tar xpvf
本篇文章來源于 Linux公社網(wǎng)站(www.) 原文鏈接:http://www./Linux/2012-08/68103.htm
|