国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Linux Shell > 正文

Shell腳本中的特殊字符(美元符、反斜杠、引號等)作用介紹

2020-07-27 19:06:47
字體:
來源:轉載
供稿:網友

Shell中的特殊字符有

1、$ 美元符
2、/ 反斜杠
3、` 反引號
4、" 雙引號
5、< ,>;,*,?,[,]

下面我一一舉列說明

一、$符號

1、echo $? 顯示的是上一條指令退出狀態
2、echo "$?" 效果同上
3、echo '$?' 顯示的是$?
4、echo /$? 顯示的是$?
5、echo "/$?" 顯示的是$?

  大家可能已經看出 $符號在雙引號中具有特殊意義 雙引號對$符號不起作用
而單引號可以將特殊字符的的特殊意義屏蔽掉,使其能顯示為字符本身,反斜
杠也可以將特殊字符的特殊含義屏蔽掉,使特殊字符失去特殊含義。

二、/ 反斜杠

反斜杠的作用是將特殊符號字符的特殊含義屏蔽掉,使其還是原字符

復制代碼 代碼如下:

A=1234
echo /$A 顯示為$A 如果不加/將顯示為1234
echo /` 顯示為`
echo /" 顯示為雙引號
echo // 顯示為/

三、` 反引號

  反引號的功能是命令替換,將反引號中的字符串做為命令來執行,我們在用shell編程時經常用的到 將系統命令的執行結果賦給一個變量

復制代碼 代碼如下:

A=`date`
echo $A 顯示的不是date而是當時的時間串
比如有一文件A的內容如下 
ABCDEFG
1234456
abcdefg

B=`cat A|grep 234`? # 檢索文件A中含有字符串234的行
echo $B 將顯示為1234456
echo "$B" 將顯示為什么?
echo "/$B" 將顯示為什么?讀者自己試試

四、" 雙引號

  在系統中有些特殊字符,為避免引用這些特殊字符 往往用雙引號或單引號將這些特殊字符引起來,使其不具有特殊含義。
  但有一部分特殊字符在引號中還是具有特殊含義,用雙引號引起來是不起作用的。本文中所列的前四個特殊字符在雙引號中還是特殊字符。為了使其不具有特殊含義一是用單引號引進來二是用/反斜線使其失去作用。

  比如我們想原樣輸出這些特殊字符

復制代碼 代碼如下:

echo """
echo "$"
echo "/"
echo "`"

   以上不是你所期望的結果,因為雙引號對它們不起作用,你只能這樣才能輸出這些特殊字符的原形
復制代碼 代碼如下:

echo '"'
echo '$'
echo '/'
echo '`'

echo "/""
echo "/$"
echo "http://"
echo "/`"

將分別顯示為 " $ / `

五、其它特殊字符

  大家注意到 除了前四個特殊字符外 我將其它的特殊字符都放在一塊,這是因為前四個特殊字符在雙引號中還是具有特殊含義,所以單獨拿出來講,除此以外的特殊字符如果你要輸出這些特殊字符的原形,你就可以用雙引號或單引號引起來使其失去特殊含義。

< ,>;,*,?,[,]對shell有特殊含義 但你可以用雙引號引起來輸入這些原形

  講了這么多大家是不是已經注意到所有的特殊字符在單引號中失去特殊含義,如果你要輸出特殊字符原形但又記不清那些特殊字符在雙引號中不能輸出原形,建議你干脆用單引號引起來。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天水市| 尚志市| 马鞍山市| 安顺市| 吉林省| 中阳县| 昭苏县| 武定县| 英山县| 即墨市| 聂荣县| 黄浦区| 眉山市| 绥德县| 天峻县| 南皮县| 苏尼特左旗| 昆山市| 德格县| 南木林县| 恩施市| 三江| 乐山市| 阿鲁科尔沁旗| 枣强县| 汪清县| 内黄县| 和硕县| 苏尼特左旗| 昭平县| 武清区| 胶州市| 东山县| 鹤壁市| 萝北县| 筠连县| 闸北区| 建德市| 屏南县| 墨竹工卡县| 鄢陵县|