Shell中的特殊字符有
1、$ 美元符
2、\ 反斜杠
3、` 反引號
4、" 雙引號
5、 ,>;,*,?,[,]
下面我一一舉列說明
一、$符號
1、echo $? 顯示的是上一條指令退出狀態(tài)
2、echo "$?" 效果同上
3、echo '$?' 顯示的是$?
4、echo \$? 顯示的是$?
5、echo "\$?" 顯示的是$?
大家可能已經(jīng)看出 $符號在雙引號中具有特殊意義 雙引號對$符號不起作用
而單引號可以將特殊字符的的特殊意義屏蔽掉,使其能顯示為字符本身,反斜
杠也可以將特殊字符的特殊含義屏蔽掉,使特殊字符失去特殊含義。
二、\ 反斜杠
反斜杠的作用是將特殊符號字符的特殊含義屏蔽掉,使其還是原字符
復(fù)制代碼 代碼如下:
A=1234
echo \$A 顯示為$A 如果不加\將顯示為1234
echo \` 顯示為`
echo \" 顯示為雙引號
echo \\ 顯示為\
三、` 反引號
反引號的功能是命令替換,將反引號中的字符串做為命令來執(zhí)行,我們在用shell編程時經(jīng)常用的到 將系統(tǒng)命令的執(zhí)行結(jié)果賦給一個變量
復(fù)制代碼 代碼如下:
A=`date`
echo $A 顯示的不是date而是當(dāng)時的時間串
比如有一文件A的內(nèi)容如下
ABCDEFG
1234456
abcdefg
B=`cat A|grep 234`? # 檢索文件A中含有字符串234的行
echo $B 將顯示為1234456
echo "$B" 將顯示為什么?
echo "\$B" 將顯示為什么?讀者自己試試
四、" 雙引號
在系統(tǒng)中有些特殊字符,為避免引用這些特殊字符 往往用雙引號或單引號將這些特殊字符引起來,使其不具有特殊含義。
但有一部分特殊字符在引號中還是具有特殊含義,用雙引號引起來是不起作用的。本文中所列的前四個特殊字符在雙引號中還是特殊字符。為了使其不具有特殊含義一是用單引號引進來二是用\反斜線使其失去作用。
比如我們想原樣輸出這些特殊字符
復(fù)制代碼 代碼如下:
echo """
echo "$"
echo "\"
echo "`"
以上不是你所期望的結(jié)果,因為雙引號對它們不起作用,你只能這樣才能輸出這些特殊字符的原形
復(fù)制代碼 代碼如下:
echo '"'
echo '$'
echo '\'
echo '`'
或
echo "\""
echo "\$"
echo "\\"
echo "\`"
將分別顯示為 " $ \ `
五、其它特殊字符
大家注意到 除了前四個特殊字符外 我將其它的特殊字符都放在一塊,這是因為前四個特殊字符在雙引號中還是具有特殊含義,所以單獨拿出來講,除此以外的特殊字符如果你要輸出這些特殊字符的原形,你就可以用雙引號或單引號引起來使其失去特殊含義。
,>;,*,?,[,]對shell有特殊含義 但你可以用雙引號引起來輸入這些原形
講了這么多大家是不是已經(jīng)注意到所有的特殊字符在單引號中失去特殊含義,如果你要輸出特殊字符原形但又記不清那些特殊字符在雙引號中不能輸出原形,建議你干脆用單引號引起來。
您可能感興趣的文章:- shell腳本中28個特殊字符的作用簡明總結(jié)
- Shell命令行中特殊字符與其轉(zhuǎn)義詳解(去除特殊含義)
- Shell腳本中的位置變量參數(shù)(特殊字符)實例講解
- Linux Shell中的特殊符號和含義簡明總結(jié)(包含了絕大部份)
- shell腳本中常見的一些特殊符號和作用詳解
- linux shell中的比較符號與特殊符號介紹
- shell中冒號的特殊用法分享
- shell腳本中一些特殊符號
- Shell中特殊字符的用法總結(jié)大全