linux 單引號,雙引號,反引號

2021-06-21 05:16:48 字數 1334 閱讀 5696

**:

目的: 為了保護文字不被轉換.除了他本身. 就是說除去單引號外, 在單引號內的所有文字都是原樣輸出.

1. [root@jszwl161 sp49ep9]# echo '$*>

$*>

she is crying: "help"

3. [root@jszwl161 sp49ep9]# echo '\\\\'

\\\\

4. [root@jszwl161 sp49ep9]# echo 'hah 'test''

hah test 

#略去了所有'

5. [root@jszwl161 sp49ep9]# echo ' today is `date`'

today is `date` 

#反引號在此無法實現函式功能.

目的: 為了包含文字或者函式段. 除了本身,反引號內的函式,$開頭的變數和\開頭反轉換的字元外, 其餘都是直接輸出.

1. [root@jszwl161 sp49ep9]# echo "today is `date`"

today is fri jul 

4 08:03:34 gmt 2008

2. [root@jszwl161 sp49ep9]# echo "today is 'date'"

today is 'date'

3. [root@jszwl161 sp49ep9]# echo "\\\\"

\\4. [root@jszwl161 sp49ep9]# echo "test "test""

test test

目的是為了在雙引號內保持函式轉換. 但單引號內其無作用.

1. [root@jszwl161 sp49ep9]# echo "today is `date`"

today is fri jul 

4 08:03:34 gmt 2008 

#將函式date轉換.

2. [root@jszwl161 sp49ep9]# echo ' today is `date` '

today is `date` 

#在單引號內無作用.

被單引號用括住的內容,將被視為單一字串。在引號內的代表變數的$符號,沒有作用,也就是說,他被視為一般符號處理,防止任何變數替換。

被雙引號用括住的內容,將被視為單一字串。它防止萬用字元擴充套件,但允許變數擴充套件。這點與單引數的處理方式不同。

在前面的單雙引號,括住的是字串,但如果該字串是一列命令列,會怎樣?答案是不會執行。要處理這種情況,我們得用反單引號來做。

fdv=`date +%f`echo "today $fdv"

在倒引號內的 date +%f 會被視為指令,執行的結果會帶入 fdv 變數中。

Linux 反引號 單引號 雙引號簡析

1 將多個因為空格或者回車等分隔符隔開的字串合在一起,避免被命令列解析分開 例如 a b c 是乙個字串,而不會像 a b c 這樣會被解析成三個單獨的字串。2 讓一些特殊符號保持原義。反引號 這個字元所對應的鍵一般位於鍵盤的左上角,和單引號 是有區別的。反引號括起來的字串會被 shell 解釋為命...

linux 單引號 雙引號 反引號的區別。

一 單引號和雙引號 單引號和雙引號,都是為了解決中間有空格的問題。因為空格在linux中時作為乙個很典型的分隔符,比如string1 this is astring,這樣執行就會報錯。為了避免這個問題,因此就產生了單引號和雙引號。他們的區別在於,單 引號將剝奪其中的所有字元的特殊含義,而雙引號中的 ...

Shell單引號,雙引號,反引號,反斜槓

shell單引號,雙引號,反引號,反斜槓 shell可以識別4種不同型別的引字符號 單引號字元 雙引號字元 反斜槓字元 反引號字元 1.單引號 grep susan phonebook susan goldberg 403 212 4921 susan topple 212 234 2343 如果我...