linux shell 中雙引號和單引號的區(qū)別解析
linux shell 中雙方引號和單方引號的區(qū)別
通常更推薦使用雙方引號。
001、雙方引號可以避免變量的單詞分割
[root@pc1 test1]# str1="aa bb" ## 測試字符串 [root@pc1 test1]# if [[ $str1 == "aa bb" ]]; then echo "yes"; fi ## 雙邊引號不用擔心變量的單詞分割 yes [root@pc1 test1]# if [ $str1 == "aa bb" ]; then echo "yes"; fi ## 單邊引號發(fā)生單詞分割 -bash: [: too many arguments [root@pc1 test1]# if [ "$str1" == "aa bb" ]; then echo "yes"; fi ## 單邊引號如果想避免單詞分割,需要使用雙引號 yes
002、雙邊引號支持高級正則表達; 單邊引號不支持
[root@pc1 test1]# if [[ aabb == aab? ]]; then echo "yes"; fi ## 雙邊引號支持高級正則表達 yes [root@pc1 test1]# if [ aabb == aab? ]; then echo "yes"; fi ## 單邊引號不支持高級正則表達
Linux shell中單引號(' ')、雙引號(" ")、反引號(` `)的區(qū)別
最近在編寫shell腳本時,發(fā)現(xiàn)引號使用的比較頻繁,也出現(xiàn)過小問題,現(xiàn)根據(jù)我的使用情況做一下總結(jié),也加深一下自己的印象。
單引號和雙引號:
共同點:
聲明變量時,如果變量內(nèi)容較多并用空格分割的,需要將變量包裹起來(使用單引號或者雙引號),否則就會報-bash: xx:command not found。
1.聲明變量,內(nèi)容包括空格,就會提示-bash: bond: command not found
2.可以使用單引號或者雙引號解決這個錯誤
不同點:
獲取變量的值,如果用單引號包裹,就不會得到變量值,雙引號可以得到變量值
雙引號包裹的內(nèi)容,如果不想獲取到變量值,可以進行轉(zhuǎn)義,這樣可以達到和單引號的效果
簡單總結(jié):
單引號原樣輸出,雙引號適應(yīng)性強。
反引號:
如果要在shell腳本中執(zhí)行shell命令,就需要將shell命令用反引號包裹(ESC下面的那個鍵)
這樣只會輸出date這個單詞,如果想要獲取當前系統(tǒng)時間,就需要用反引號。
到此這篇關(guān)于linux shell 中雙方引號和單方引號的區(qū)別的文章就介紹到這了,更多相關(guān)linux shell 雙方引號和單方引號內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
script_tool_for_linux.bash: Linux 環(huán)境下的 hosts 一鍵部署腳本
這篇文章主要介紹了script_tool_for_linux.bash: Linux 環(huán)境下的 hosts 一鍵部署腳本,需要的朋友可以參考下2016-04-04shell腳本實現(xiàn)ssh-copy-id批量自動發(fā)送公鑰到遠程主機
這篇文章主要介紹了shell腳本實現(xiàn)ssh-copy-id批量自動發(fā)送公鑰到遠程主機的方式,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11Shell腳本統(tǒng)計當前目錄下目錄和文件的數(shù)量
這篇文章主要介紹了Shell腳本統(tǒng)計當前目錄下目錄和文件的數(shù)量,Linux下如何統(tǒng)計當前目錄下文件有多少個,目錄又有多少個呢,使用本文腳本即可實現(xiàn),需要的朋友可以參考下2014-12-12Shell腳本實現(xiàn)自動輸入密碼登錄服務(wù)器
這篇文章主要介紹了Shell腳本實現(xiàn)自動輸入密碼登錄服務(wù)器,本文使用expect來實現(xiàn)這個需求,講解了expect的安裝及使用腳本,需要的朋友可以參考下2015-03-03linux?shell字符串截取的詳細總結(jié)(實用!)
在開發(fā)的時候經(jīng)常會自行寫一些小的腳本,其中就用到截取字符串的操作,這篇文章主要給大家介紹了關(guān)于linux?shell字符串截取的詳細方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-07-07