每日linux命令學習-引用符號(反斜線\,單引號'',雙引號"")

來源:互聯網
上載者:User

標籤:enter   總結   允許   使用者   命令   linu   萬用字元   border   資訊   

引用符號在解析器中保護特殊元字元和參數擴充,其使用方法有3種:反斜線(\),單引號(’‘),雙引號(“”)

    單引號和雙引號必須匹配使用,均可在解析器中保護特殊元字元和萬用字元,但是單引號(硬轉義)主要用於資訊的原樣輸出,防止任何變數的擴充,雙引號(軟轉義)允許變數擴充、轉義符和命令替換。單引號保護雙引號,雙引號保護單引號。

1. 反斜線

    反斜線通過解析器將1個字元轉化為引用符號或轉義。

    1)在單引號內使用反斜線,反斜線不會被解析,保持原樣輸出。

    2)在雙引號內使用反斜線,主要用於貨幣符號($),反單引號(``),雙引號(""),單引號(‘‘)的輸出,以及轉義符的解析,其中單引號的輸出中,反斜線和雙引號不能同時使用。

    3)不使用單引號和雙引號(如:echo \,輸出為空白),則反斜線可以被看做自動忽略。

2. 單引號

    1)單引號內不允許任何變數、元字元、萬用字元、轉義符的解析,均被原樣輸出。

    2)使用雙引號或反斜線轉義可顯示輸出單引號,但是雙引號和反斜線不能被同時使用。

        如命令:echo “\‘”,輸出結果會為(\‘),而不是(‘)

    3)可解析Regex,與sed和grep命令配合使用

3. 雙引號

    保護特殊元字元和萬用字元不被shell解析,但是允許變數和命令替換,以及轉義符的解析。

4. 附錄

    在此順便學習一下linux常見的特殊字元,包括萬用字元、轉義符和元字元。

    4.1 萬用字元(wildcard)

    萬用字元實際上是一種shell實現的路徑擴充功能,當shell在“參數”中遇到萬用字元後,會將其當做路徑或檔案名稱在磁碟上搜尋可能的匹配,以下表格中列出了比較常用的shell萬用字元,以供大家參考和學習。

字元 含義 執行個體
* 匹配一個或多個字元 a*b        a與b之間可以有任意長度的字元
? 匹配任意一個字元 a?b        a與b之間必須也只能有一個字元
[list] 匹配list中任意單一字元

a[xyz]b  a與b之間必須也只能有一個[xyz]之間的字元 

a[0-9]b  a與b之間必須也只能有一個0-9之間的數字字元

a[!0-9]b a與b之間有且只有一個字元,同時字元不能為0-9

{string list} 匹配字串列表中的任一字串 a{abc,xyz,123}b a與b之間只能為abc或xyz或123

    需要說明的是,萬用字元與Regex語句有些相似,但它與Regex不同,只能將其理解為shell特殊字元即可,而且只涉及*,?,[]和{}。

    4.2 元字元(Meta)

字元 說明
命令分隔字元,在前一個命令結束時,忽略其傳回值,繼續執行下一個命令
& 後台運行命令,最大的好處是無需等待命令執行結束,就可以在同一命令列下繼續輸入命令
= 變數名=值,為變數賦值。注意"="左右緊跟變數名和值,中間不要有空格
$ 變數值替換,"$變數名"替換為shell變數的"值",為避免在文本串連時混淆,請使用${變數名}
> 輸出重新導向,prog > file 將標準輸出重新導向到檔案(覆蓋原檔案內容)
>> 輸出重新導向,prog >> file 將標準輸出追加到檔案
< 輸入重新導向,prog < file 從檔案file中擷取標準輸入
| 管道命令,例:p1 | p2 將p1的標準輸出作為p2的標準輸入
() 在子shell中執行命令,或用於運算,或用於命令替換($(command))
{} 在當前shell中執行命令,或用在變數替換的界定範圍(例如上面的${變數名}用法)
&& 前一個命令執行成功後,才繼續執行下一個命令。例:p1 && p2 ,若p1執行成功後,才執行p2,反之,不執行p2
|| 前一個命令執行失敗後,才繼續執行下一個命令。例:p1 || p2 ,若p1執行成功後,不執行p2,反之,才執行p2
! 執行記錄(history列表)中的命令,如!1
~ 使用者主目錄

    4.3 轉義符

    shell提供的轉義符有3中:單引號(‘‘),雙引號(""),反斜線(\)。轉義符已在上述內容中進行了詳細介紹,在此只是對其做一個簡單總結。

字元 說明
‘‘(單引號) 硬轉義,其內部所有的shell元字元、萬用字元等都不會被解析,用於參數的原樣輸出。注意,硬轉義中不允許再出現單引號
""(雙引號) 軟轉義,可用於保護元字元和萬用字元,但是允許變數和命令替換的擴充,也允許反斜線轉義符的解析
\(反斜線) 轉義,保護元字元或萬用字元不被shell解析,主要用於雙引號,單引號,反單引號和貨幣符號

    與echo和sed連用時,常用的反斜線逸出字元如下表所示:

轉義符 意義
\a 響鈴字元
\b 後退符,即刪除前一個字元
\c 輸出不換行,與/n作用相反
\d 以“星期、月、日”表示日期
\f 換行,但游標仍停留在原處
\h或\H 顯示基本主機名稱或顯示完整的主機名稱
\t或\T 24小時或12小時制時間
\n 輸出換行
\r 游標移至行首,並且不換行
\s 當前shell的名稱,如bash
\t 插入Tab鍵
\u 當前登入shell的使用者名稱
\v Bash版本
\w 當前工作目錄
\W 當前工作目錄的基名
\\ 反斜線\\,有無雙引號,結果相同
\$ 貨幣符號$,有無雙引號,結果相同
\" 雙引號“,有無雙引號,結果相同
\‘ 單引號’,不能與雙引號同時使用
\` 反單引號`,有無雙引號,結果相同
\nnn 插入八進位所代表的ASCII字元

每日linux命令學習-引用符號(反斜線\,單引號'',雙引號"")

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.