Shell中經常使用的引號

Shell之引號centos

Shell中常常會使用到單引號、雙引號、反引號(鍵盤中Tab鍵上方的按鍵)、反斜線(轉換某些Shell元字符的含義)。如咱們有時但願echo命令輸出的字符中就包含$符號自己,但通常狀況下,Shell會將$視爲取變量值,像這樣的狀況咱們須要使用某些功能來屏蔽$符號自己的特殊含義,使其還原字面意義。
ide

1. 反斜線centos7

反斜線能夠將緊隨其後的單個字符視爲字面意義上的字符,如*Shell中表明任意字符,在查找時常常會使用*來查找多個匹配的文件,然而有可能你須要找的就是*字符自己,此時,\*將會把*做爲字母意義上的普通字符。spa

另外,若是在命令的末尾使用\回車後,\能夠將回車的命令提交功能屏蔽,從而將回車認爲是換行繼續輸入命令,實現命令的多行輸入功能。it

[root@centos7 ~]# echo *                        #顯示當前目錄的全部文件列表class

anaconda-ks.cfginstall.log install.log.syslogtest

[root@centos7 ~]# echo \*                       #顯示*字符變量

*date

[root@centos7 ~]# echo \>                       #顯示>符號margin

[root@centos7 ~]# find / \                      #換行輸入多行命令

> -name"test.txt" \

> -type f\

> -size+5M

    2. 單引號

單引號能夠將它中間的全部任意字符還原爲字面意義,實現屏蔽Shell元字符的功能。注意,不能夠在兩個單引號中間單獨插入一個單引號,單引號必須成對出現。

[root@centos7 ~]# echo '$HOME'                  #單引號將屏蔽$的特殊功能

$HOME

[root@centos7 ~]# echo ’test\’                  #默認\爲轉義換行,這裏也被屏蔽

test\


    3. 雙引號

雙引號相似於單引號,但其不會屏蔽 `\$ 這樣的元字符含義,若是須要屏蔽這些字符含義,必須前置一個\符號,其餘字符的功能將被屏蔽(包括單引號)。也就是說,兩個雙引號之間的單引號沒必要成對出現。

[root@centos7 ~]# echo "This's book."

This's book.

[root@centos7 ~]# echo "$HOME"

/root

[root@centos7 ~]# echo "\$HOME"

$HOME


    4. 反引號

Shell中使用反引號進行命令替換,命令替換使Shell能夠將命令字符替換爲命令執行結果的輸出內容。一樣的功能也能夠使用$()來實現。

[root@centos7 ~]# echo "Today is `date +%D`"

Today is 02/09/13

[root@centos7 ~]# echo "Today is $(date +%D)"

Today is 02/09/13

相關文章
相關標籤/搜索