在本小節中,我們將學習在Bash腳本中使用引號。當希望變數存儲更複雜的值時,就需要使用引號。引號用於處理帶有空格字元的文本和文件名。這是因為Bash使用空格來確定單獨的專案。
當我們將內容括在引號中時,向Bash指示引號內的內容應視為一個專案。閱讀以下教學示例,瞭解如何使用單引號或雙引號:
字串與引號
使用簡單的文本和字串時,我們使用單引號或雙引號都不會有任何區別。閱讀以下示例代碼:
#!/bin/bash
# String in single quote
echo 'Hello User'
echo
# String in double quote
echo "we are learn from xuhuhu.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 xuhuhu.com
變數與引號
應該注意的是,shell變數擴展僅適用於雙引號。如果在單引號中定義變數,則不會將其視為變數。下麵通過一個例子來理解這一點:
腳本
#!/bin/bash
name="You are welcome at zaixian"
echo "$name"
echo '$name'
將上面示例代碼保存到檔:quote-with-variable.sh,執行後得到以下結果:
在這裏,第一個echo
將輸出變數的值,即"You are welcome at zaixian"
。但是第二個echo
將輸出顯示為$name
,這是因為它用單引號引起來。
引號示例
請看以下示例,以更清楚地瞭解引號的概念和使用:
#!/bin/bash
echo
echo "When single quote is used with string:"
invitation='Welcome to zaixian'
echo $invitation
echo
echo "When double quote is used with string:"
invitation="Welcome to zaixian"
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,執行後得到以下結果: