Bash引號


在本小節中,我們將學習在Bash指令碼中使用引號。當希望變數儲存更複雜的值時,就需要使用引號。引號用於處理帶有空格字元的文字和檔案名。這是因為Bash使用空格來確定單獨的專案。

當我們將內容括在引號中時,向Bash指示引號內的內容應視為一個專案。閱讀以下教學範例,了解如何使用單引號或雙引號:

字串與引號

使用簡單的文字和字串時,我們使用單引號或雙引號都不會有任何區別。閱讀以下範例程式碼:

#!/bin/bash  

# String in single quote  
echo 'Hello User'  
echo  
# String in double quote  
echo "we are learn from tw511.com"

將上面範例程式碼儲存到檔案:quote-with-string.sh,執行後得到以下結果:

maxsu@ubuntu:~/bashcode$ vi quote-with-string.sh
maxsu@ubuntu:~/bashcode$ chmod +x quote-with-string.sh 
maxsu@ubuntu:~/bashcode$ ./quote-with-string.sh 
Hello User

we are learn from tw511.com

變數與引號

應該注意的是,shell變數擴充套件僅適用於雙引號。如果在單引號中定義變數,則不會將其視為變數。下面通過一個例子來理解這一點:

指令碼

#!/bin/bash  

name="You are welcome at yiibai"  

echo "$name"  
echo '$name'

將上面範例程式碼儲存到檔案:quote-with-variable.sh,執行後得到以下結果:

變量與引號

在這裡,第一個echo將輸出變數的值,即"You are welcome at yiibai"。但是第二個echo將輸出顯示為$name,這是因為它用單引號引起來。

引號範例

請看以下範例,以更清楚地了解引號的概念和使用:

#!/bin/bash  
echo  
echo "When single quote is used with string:"  
invitation='Welcome to Yiibai'  
echo $invitation  
echo  
echo "When double quote is used with string:"  
invitation="Welcome to Yiibai"  
echo $invitation  
echo  
echo "When variable is used with double quote:"  
Remark="Hello User!, $invitation"  
echo $Remark  
echo  
echo "When variable is used with single quote:"  
Remark='Hello User!, $invitation'  
echo $Remark  
echo

將上面範例程式碼儲存到檔案:quote-example.sh,執行後得到以下結果:

Bash引號示例