* literal:也就是普通純文字,對shell 來說沒特殊功能。
* meta:對shell 來說,具有特定功能的特殊保留字元。
(註一:關於bash shell 在處理command line 時的順序說明,
請參考o'reilly 出版社之learning the bash shell, 2nd edition
,第177 - 180 頁的說明,.
literal
沒甚麼好談的,凡舉
abcd、
123456 這些
"文字"都是
literal ...
但meta 卻常使我們困惑..... (confused?)
事實上,前兩章我們在command line 中已碰到兩個機乎每次都會碰到的meta :.
* ifs:由或或三者之一組成(我們常用space )。(該文來自net百科:www.csustnet.com)
* cr:由產生。
ifs 是用來拆解command line 的每乙個詞(word)用的,因為shell command line 是按詞來處理的。(該文來自net百科:www.csustnet.com)
而cr 則是用來結束command line 用的,這也是為何我們敲命令就會跑的原因。
除了ifs 與cr ,常用的meta 還有:..
.= : 設定變數。
$ : 作變數或運算替換(請不要與shell prompt 搞混了)。
> :重導向stdout。.
.< :重導向
stdin。
|:命令管線。
& :重導向
file descriptor ,或將命令置於背境執行。
( ):將其內的命令置於
nested subshell 執行,或用於運算或命令替換。
:將其內的命令置於
non-named function 中執行,或用在變數替換的界定範圍。
(該文來自net百科:www.csustnet.com)
&& :在前乙個命令結束時,若返回值為
true,繼續執行下乙個命令。
(該文來自net百科:www.csustnet.com)
|| :在前乙個命令結束時,若返回值為
false,繼續執行下乙個命令。
!:執行
history 列表中的命令
....
假如我們需要在
command line 中將這些保留字元的功能關閉的話,就需要
quoting 處理了。 在
bash 中,常用的
quoting 有如下三種方法:
* hard quote:
' ' (單引號
),凡在
hard quote 中的所有
meta 均被關閉。
* soft quote:
" " (雙引號
),在soft quoe 中大部份
meta 都會被關閉,但某些則保留
(如$ )。
(註二)
* escape
: \ (反斜槓
),只有緊接在
escape (跳脫字元
)之後的單一
meta 才被關閉。
( 註二:在soft quote 中被豁免的具體meta 清單,我不完全知道,
有待大家補充,或透過實作來發現及理解。)
Literal和Label的區別
literal是用來在顯示網頁上顯示靜態文字,他和label 的區別主要在 label在轉譯成網頁時候使用html的標記為住控制項,literal不會所以使 比較簡單 literal不可以運用樣式,而且任意定位比較麻煩,你用gridlayout不局就會發現即使那樣也很難 literal這個和labe...
Literal控制項的用法
1 literal的一般用法,與label對比 msdn上的解釋 使用 system.web.ui.webcontrols.literal 控制項在網頁上保留顯示文字的位置。literal 控制項與 label 控制項類似,但 literal 控制項不允許對所顯示的文字應用樣式。可以通過設定 tex...
Literal控制項與Label控制項的對比
1 literal的一般用法,與label對比 msdn上的解釋 使用 system.web.ui.webcontrols.literal 控制項在網頁上保留顯示文字的位置。literal 控制項與 label 控制項類似,但 literal 控制項不允許對所顯示的文字應用樣式。可以通過設定 tex...