首页 编程技术Linux Shell脚本中单引号(')和双引号(")的区别

Linux Shell脚本中单引号(')和双引号(")的区别

运维派隶属马哥教育旗下专业运维社区,是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai
领取学习更多免费Linux云计算、Python、Docker、K8s教程关注公众号:马哥linux运维

在Linux操作系统上编写Shell脚本时候,我们是在变量的前面使用符号来获取该变量的值,通常在脚本中使用”param”这种带双引号的格式,但也有出现使用’$param’这种带引号的使用的场景,首先大家看一段例子:

[root@linux ~]# name=TekTea
[root@linux ~]# echo name
TekTea
[root@linux ~]# sayhello=”Hello
name”
[root@linux ~]# echo sayhello
Hello TekTea
[root@linux ~]# sayhello=’Hello
name’
[root@linux ~]# echo sayhello
Hello
name

发现了吗?没错!使用了单引号的时候,那 name将失去原有的变量内容,仅为一般字符的显示型态而已!这里必需要特别小心在意!

所以,单引号与双引号的最大不同在于双引号仍然可以保有变量的内容,但单引号内仅能是一般字符,而不会有特殊符号,我们也可以这里理解:’sayhello’ 与 “\$sayhello”是相同的。

在Shell脚本开发过程中,针对变量的单引号(‘)和双引号(“)都是有应用场景的,根据我的经验总结起来就是:

1. 获取变量值的时候就使用双引号(“),这是基本用法。

2. 如果是在脚本中要编写一个新的脚本,同时这个新的脚本中还需要包含变量,你就可以选择使用单引号(‘)了,特别是生成一个临时的expect脚本时,单引号(‘)就会经常使用到的。

本文链接:http://www.yunweipai.com/1648.html

网友评论comments

发表评论

电子邮件地址不会被公开。

暂无评论

Copyright © 2012-2020 YUNWEIPAI.COM - 运维派
扫二维码
扫二维码
返回顶部