亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Linux Shell > 正文

Shell命令行中特殊字符與其轉義詳解(去除特殊含義)

2020-07-27 18:57:53
字體:
來源:轉載
供稿:網友

特殊符號及其轉義

大家都知道在一個shell命令是由命令名和它的參數組成的, 比如 cat testfile, 其中cat是命令名, testfile是參數. shell將參數testfile傳遞給cat命令. 但是, 如果參數中含有特殊字符, 比如說*, *我們知道,是表示任意多個(包括0個)任意字符. 那么shell的工作方式是,它會對這些特殊字符進行預先處理, 然后再將處理的結果傳給那個命令.

比如說,如果你的當前目錄有file, file1, file2 三個文件, 那么當你執行cat file*的時候, shell會對參數部分file*進行預先處理, 由于*表示任意多個(包括0個)任意字符,那么處理的結果便是file file1 file2,接下來,shell再將這個結果, 即file file1 file2傳遞給cat命令, 所以你看到的結果跟直接執行cat file file1 file2是一樣的, 那就是三個文件的內容都顯示在命令行終端.

實際上,我們有辦法看到shell處理的結果是什么,或者說真正執行的命令是什么樣子的, 那就是在你要執行的命令之前加上echo.
比如說,在上面的目錄下,你執行echo cat file* ,  那么你將看到

cat file file1, file2

上面那條命令,就是經過shell對參數的處理之后,真正執行的命令.

但是很多時候,我們希望傳遞給這些命令的,就是這些參數本身, 比如說,你當前目錄下有一個文件的文件名就叫test*, 同時還有另外一個文件, test1. 而你只想看test*的內容, 這時候,如果你執行

cat test*

的話,那么test*和test1的內容都會被顯示出來,這時候怎么辦呢? 這里就涉及到特殊字符的轉義(escape)的問題了.所謂的轉義,意思就是去掉它的特殊含義.讓shell把他們當做一般字符對待,不要進行特殊處理.

在shell中,特殊字符的轉義有三種辦法

  1. 用/轉義: 把/字符放在特殊字符的前面
  2. 用單引號('')轉義: 用單引號把參數括起來
  3. 用雙引號("")轉義: 用雙引號把參數括起來

在上面的例子中,這三種方法都是有效率的,也就是說,下面的三個命令都能達到目的:

  1. cat test/*
  2. cat 'test*'
  3. cat “test*”

三種轉義方法的范圍

在shell中,特殊字符是非常多的,而以上提到的三種轉義方法的范圍也不盡相同,其中第一種方法的范圍是最廣的,幾乎可以對所有的特殊字符進行轉義,常見的用法是把/放在一個命令行的最后,這樣一個很長的命令就可以分為兩行或者更多行寫. 比如

echo this is a /very long /line

將顯示成

this is a very long line

在這里,其實就是/把換行符轉義了,讓它失去了換行的意思,同時阻止命令立刻執行.

第二種轉義(單引號)的范圍比第一種小,它可以阻止命令行立刻執行,但是它不能讓換行符失去換行的意思. 所以

echo 'helloworld'

將顯示成

helloworld

第三種轉義(雙引號)的范圍又比第二種小,單引號可以轉義"`", 而雙引號不行. 在shell中, "`"中間的東西將被視為命令替換. shell對參數進行預先處理時,將把兩個"`"中間的東西當做shell命令進行執行,再將執行結果替換掉他們本身. 舉個例子:

echo today is `date`

將顯示

today is Mon Oct 12 16:14:16 CST 2015

當然,具體的日期跟你執行這條命令的時期有關. 總之,意思你應該明白了. 再回到原來的問題,我們說單引號可以轉義"`", 而雙引號不行, 意思就是,單引號之間的"`"將失去它的特殊含義,而雙引號之間的"`"將依然有特殊含義,所以

echo 'today is `date`'

將顯示

today is `date`

echo “today is `date`”

將顯示

today is Mon Oct 12 16:23:23 CST 2015

常見的一些特殊字符

  1. * 任意個任意字符
  2. ? 一個任意字符
  3. [..] []中的任意一個字符,這里也類似于正則表達式,中括號內可以是具體的一些字符,如[abcd]也可以是用-指定的一個范圍,如[a-d]
  4. # 注釋
  5. (空格) 參數分隔符
  6. cmd 命令替換
  7. | 管道
  8. & 后臺執行
  9. ; 命令分隔符(可以在同一行執行兩個命令,用;分割)
  10. ~ 用戶home目錄

最后記得,任何時候,你不確定自己是不是轉義對了,或者是特殊字符用對了,記得可以在命令前面加上echo,來看看真實執行的命令是怎么樣的.

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久人91精品久久久久久不卡| 91精品国产91久久久| 精品丝袜一区二区三区| 国产亚洲精品久久| 中文字幕日韩精品有码视频| 欧美多人乱p欧美4p久久| 国产va免费精品高清在线观看| 欧美风情在线观看| 91精品国产乱码久久久久久蜜臀| 粉嫩老牛aⅴ一区二区三区| 91久久久久久| 久久久久久久国产精品视频| 国产精品国产三级国产aⅴ浪潮| 在线观看久久av| 亚洲区一区二区| 亚洲性猛交xxxxwww| 色综合久久久888| 国产精品一区二区久久久| 色黄久久久久久| 国产精品久久久久影院日本| 国产一区二区三区精品久久久| 国产成人av在线播放| 国产精品福利在线| 一本大道亚洲视频| 亚洲xxx自由成熟| 成人网在线免费看| 茄子视频成人在线| 亚洲老头同性xxxxx| 97视频在线观看免费高清完整版在线观看| 日韩成人激情影院| 欧美日韩亚洲成人| 5278欧美一区二区三区| 日韩av综合中文字幕| 麻豆一区二区在线观看| 久久久久久久久网站| 成人av资源在线播放| 日本精品免费一区二区三区| 亚洲精品日韩欧美| xxx欧美精品| 国产精品久久久久秋霞鲁丝| 91精品国产色综合久久不卡98| 上原亚衣av一区二区三区| 国产91成人video| 曰本色欧美视频在线| 欧美精品一区在线播放| 伊人激情综合网| 色诱女教师一区二区三区| 国外成人在线视频| 国产成人在线视频| 成人免费网站在线| 国产精品视频自拍| 国内精品小视频在线观看| 国产精自产拍久久久久久| 久久久久999| 亚洲精品电影在线观看| 亚洲天堂av在线免费观看| 亚洲人成在线播放| 欧美日韩国产丝袜另类| 久久精品中文字幕| 久久人人看视频| 久久久www成人免费精品张筱雨| 欧美大码xxxx| 欧美大片免费观看在线观看网站推荐| 欧美激情免费观看| 国产精品久久久久高潮| 精品自在线视频| 欧美一级高清免费播放| 国产亚洲aⅴaaaaaa毛片| 亚洲xxxx做受欧美| 国产精品网红直播| 欧美做受高潮电影o| 欧美成人一区在线| 精品久久久视频| 欧美性受xxxx黑人猛交| 国产精品久久久久久久美男| 亚洲男人天堂视频| 伊人伊成久久人综合网站| 日韩美女免费观看| 国产精品久久视频| 成人国产精品日本在线| 亚洲全黄一级网站| 国产成人在线亚洲欧美| 国产精品久久久久久av福利软件| 精品欧美激情精品一区| 精品网站999www| 国产精品96久久久久久| 91在线精品播放| 久久久www成人免费精品| 曰本色欧美视频在线| 在线观看欧美日韩国产| 最新亚洲国产精品| 国产成人激情视频| 日韩在线播放视频| 国模精品一区二区三区色天香| 日韩在线视频观看正片免费网站| 少妇高潮久久久久久潘金莲| 孩xxxx性bbbb欧美| 欧美日韩国产精品一区二区不卡中文| 欧美午夜丰满在线18影院| 超在线视频97| 久久久av网站| 国产亚洲视频在线| 成人激情综合网| 日韩在线欧美在线国产在线| 少妇高潮 亚洲精品| 色噜噜亚洲精品中文字幕| 欧美二区乱c黑人| 97国产在线观看| 欧美激情一二区| 久久久国产视频| 永久555www成人免费| 国产精品欧美激情| 国产精品久久久久久影视| 91国自产精品中文字幕亚洲| 日韩在线观看免费全集电视剧网站| 久久成人免费视频| 日韩国产一区三区| 精品国产户外野外| …久久精品99久久香蕉国产| 亚洲欧美国产va在线影院| 久久伊人精品一区二区三区| 亚洲欧洲日产国产网站| 国内精品久久久久伊人av| 国产激情综合五月久久| 一区二区三欧美| 日本久久精品视频| 91精品综合久久久久久五月天| 欧美在线精品免播放器视频| 日韩精品一区二区视频| 欧美日韩裸体免费视频| 亚洲精品久久久久中文字幕欢迎你| 亚洲精品电影网| 国产精品91久久| 欧美成人精品在线播放| 538国产精品一区二区在线| 亚洲片在线资源| 欧美日韩在线看| 亚洲视频欧美视频| 中文字幕在线观看日韩| 国产在线视频91| 国产精品成人品| 欧美亚州一区二区三区| 精品国偷自产在线视频99| 国产精品一区二区电影| 91社影院在线观看| 国产成人avxxxxx在线看| 日韩欧美亚洲一二三区| 亚洲一区二区三区乱码aⅴ蜜桃女| 搡老女人一区二区三区视频tv| 国产91精品黑色丝袜高跟鞋| 欧美亚洲免费电影| 国产精品久久久久久久久影视| 色综合伊人色综合网| 在线观看中文字幕亚洲| 日韩在线观看免费高清完整版| 尤物tv国产一区| 国产精品美女www爽爽爽视频| 亚洲精品永久免费| 97人人模人人爽人人喊中文字| 亚洲欧美日韩视频一区| 日本aⅴ大伊香蕉精品视频| 都市激情亚洲色图| 成人av.网址在线网站| 国产乱肥老妇国产一区二|