雙引號里可以識別變量
專注于為中小企業(yè)提供成都網(wǎng)站制作、網(wǎng)站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)海南州免費做網(wǎng)站提供優(yōu)質(zhì)的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了超過千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
單引號就是純字符串
# i=111111
# echo "$i"
111111
# echo '$i'
$i
# echo $i bash
111111 bash
但是不加引號,有時候在腳本里需要區(qū)分命令和字符串,就必須加引號,養(yǎng)成良好習慣
1、首先在Linux系統(tǒng)中,使用echo $ 0來顯示如下輸出。
2、查看Linux系統(tǒng)上可用的所有shell,文件/ etc / shells中列出了Linux系統(tǒng)上可用的所有shell。 可以使用cat命令或更少的命令來查看文件的內(nèi)容。
3、更改shell以使用另一個shell,要使用其他shell,只需輸入其名稱即可登錄新shell。
4、永久更改Linux中的默認Shell,Linux允許您使用chsh命令更改默認Shell。 為您自己的登錄用戶更改默認Shell的最佳方法是,使用-s選項指定/ etc / shells文件中列出的Shell名稱。
cut。Linux,是一種類似Unix的操作系統(tǒng),在該操作系統(tǒng)中想要截取雙引號內(nèi)的內(nèi)容,是可以使用操作系統(tǒng)中的cut操作命令的,Linux可以免費使用,自由傳播,多用戶、多任務、多線程、多CPU的操作系統(tǒng)。
(1)轉(zhuǎn)義字符“”
如果將“”放到特殊字符前面,shell就忽略這些特殊字符的原有含義,
把它們當作普通字符對待,例如:
上 是將abc?*重命名為abc,將C:backup重命名為backup。因為 件
名中包含特殊字符,所以都使 了轉(zhuǎn)義字符“”。
(2)單引號“ ' ”
如果將字符串放到 對單引號之間,那么字符串中所有字符的特殊含義將被忽略,例如:
上面兩條命令完全等效
(3)雙引號“""”
雙引號的引用與單引號基本相同,包含在雙引號內(nèi)的大部分特殊字符
可以當作普通字符處理,但是仍有一些特殊字符即使 雙引號括起來,也
仍然保留自己的特殊含義,比如“$”、“”和“`”。
從上面的輸出可以看出,“$”和“”在雙引號內(nèi)仍然保留了特殊含義。
上面的輸出中,字符“`”在雙引號中也保留了自己的特殊含義。
單引號:所見即所得,即將單引號內(nèi)的內(nèi)容原樣輸出,或者描述為單引號里面看到的是什么就輸出什么。
雙引號:把雙引號里面的內(nèi)容給輸出出來,如果內(nèi)容中有命令、變量等,會先把,變來那個、命令解析出結(jié)果,然后輸出最終內(nèi)容。
雙引號內(nèi)的命令或者變量寫法’命令或變量’或$(命令或變量)
無引號:把內(nèi)容輸出出來,可能不會鍵含有空格的字符串,視為一個整體輸出,如果內(nèi)容中有命令、變量等,會先把變量、命令解析出來,然后輸出最終內(nèi)容,如果字符串中帶有空格等特殊字符,則不能完整輸出,需要改加雙引號。一般連續(xù)的字符串,數(shù)字,路徑等可以用,不過最好用雙引號,替代之。
如果有什么不懂的話可以去看看《Linux就該這么學》這本書,非常適合新手學習Linux。
shell腳本中的單引號和雙引號一樣都是字符串的界定符,而不是字符的界定符。單引號用于保持引號內(nèi)所有字符的字面值,即使引號內(nèi)的\和回車也不例外,但是字符串中不能出現(xiàn)單引號。(注意是所有,只是單引號本身不能夠出現(xiàn)在其中)。
雙引號用于保持引號內(nèi)所有字符的字面值(回車也不例外),但以下情況除外:
$加變量名可以取變量的值
反引號仍表示命令替換
\$表示$的字面值
\`表示`的字面值
\"表示"的字面值
\\表示\的字面值
除以上情況之外,在其它字符前面的\無特殊含義,只表示字面值。
從上就可以看出單引號和雙引號的區(qū)別。下面舉幾個例子:
可見,單引號中完全是保持字符串的原型輸出,而雙引號進行了命令替換。
由上可見雖然單引號和雙引號都是字符串的限定符,但還是有所區(qū)別。