在本小节中,我们将学习在Bash脚本中使用引号。当希望变量存储更复杂的值时,就需要使用引号。引号用于处理带有空格字符的文本和文件名。这是因为Bash使用空格来确定单独的项目。
当我们将内容括在引号中时,向Bash指示引号内的内容应视为一个项目。阅读以下教程示例,了解如何使用单引号或双引号:
使用简单的文本和字符串时,我们使用单引号或双引号都不会有任何区别。阅读以下示例代码:
#!/bin/bash # String in single quote echo 'Hello User' echo # String in double quote echo "we are learn from zyiz.net"
将上面示例代码保存到文件: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 zyiz.net
应该注意的是,shell变量扩展仅适用于双引号。如果在单引号中定义变量,则不会将其视为变量。下面通过一个例子来理解这一点:
脚本
#!/bin/bash name="You are welcome at zyiz" echo "$name" echo '$name'
将上面示例代码保存到文件:quote-with-variable.sh,执行后得到以下结果:
在这里,第一个echo
将输出变量的值,即"You are welcome at zyiz"
。但是第二个echo
将输出显示为$name
,这是因为它用单引号引起来。
请看以下示例,以更清楚地了解引号的概念和使用:
#!/bin/bash echo echo "When single quote is used with string:" invitation='Welcome to zyiz' echo $invitation echo echo "When double quote is used with string:" invitation="Welcome to zyiz" 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,执行后得到以下结果: