在本小节中,我们将学习在Bash脚本中使用引号。当希望变量存储更复杂的值时,就需要使用引号。引号用于处理带有空格字符的文本和文件名。这是因为Bash使用空格来确定单独的项目。
当我们将内容括在引号中时,向Bash指示引号内的内容应视为一个项目。阅读以下教程示例,了解如何使用单引号或双引号:
字符串与引号
使用简单的文本和字符串时,我们使用单引号或双引号都不会有任何区别。阅读以下示例代码:
#!/bin/bash
# String in single quote
echo 'Hello User'
echo
# String in double quote
echo "we are learn from yiibai.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 yiibai.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,执行后得到以下结果: