shell指令碼中的反引號,單引號,雙引號與反斜槓

2021-09-07 09:12:50 字數 1072 閱讀 5250

**:

反引號位 (`)經常被忽略,而且容易與單引號弄混。它位於鍵盤的tab鍵的上方、1鍵的左方。單引號(')位於enter鍵的左方。在linux中反引號起著命令替換的作用。命令替換是指shell能夠將乙個命令的標準輸出插在乙個命令列中任何位置,將反引號中的字串做為命令來執行,我們在用shell程式設計時經常用的到,將系統命令的執行結果賦給乙個變數。如下,shell會執行反引號中的date命令,把結果插入到echo命令顯示的內容中。

> echo the date is `date`

the date is 2023年 11月 25日 星期三 16:18:56 cst

shell中有兩種方法作命令替換,除了反引號還可以用$(…)結構括起來,$(…)格式受到posix標準支援,也利於巢狀。但反引號內不能再引用反引號,而$()中可以引用反引號。

單引號、雙引號用於使用者把帶有空格的字串賦值給變數的分界符。

> str="today is monday"

> echo $str

today is monday

如果沒有單引號或雙引號,shell會把空格後的字串解釋為命令。

> str=today is monday

bash: is: command not found

單引號和雙引號的區別。單引號告訴shell忽略所有特殊字元,而雙引號忽略大多數,但不包括①美元符號②反引號③反斜槓,這3種特殊字元將不被忽略。 不忽略美元符號意味著shell在雙引號內部可進行變數名替換。

> testvalue=100

> echo 'the testvalue is $testvalue'

the testvalue is $testvalue

> echo "the testvalue is $testvalue"

the testvalue is 100

反斜槓一般用作轉義字元,或稱逃脫字元。linux如果echo要讓轉義字元發生轉義功能,就要使用-e選項,且轉義字元要使用雙引號

echo -e 「\n」

反斜槓的另一種作用,就是當反斜槓用於一行的最後乙個字元時,shell把行尾的反斜槓作為續行,這種結構在分幾行輸入長命令時經常使用。

shell中的引號,單引號,反引號

引號 在shell中引號分為三種 單引號,雙引號和反引號。單引號 由單引號括起來的字元都作為普通字元出現。特殊字元用單引號括起來以後,也會失去原有意義,而只作為普通字元解釋。例如 string path echo string path 可見 保持了其本身的含義,作為普通字元出現。雙引號 由雙引號括...

shell 指令碼中雙引號 單引號 反引號 的區別

在shell中引號分為三種 單引號,雙引號和反引號。單引號 由單引號括起來的字元都作為普通字元出現。特殊字元用單引號括起來以後,也會失去原有意義,而只作為普通字元解釋。例如 string path echo string path 可見 保持了其本身的含義,作為普通字元出現。雙引號 由雙引號括起來的...

shell中單引號 雙引號 反引號

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