首页 » 信息技术 »

bash命令中单引号和双引号的区别

2019年4月5日 / 3次阅读
Bash

  • 打开支付宝,搜索“ 529018372 ”,领取专属红包!每日支付每日领。

简单地说,bash命令中的单引号括起来的字符串会保持原样,而双引号括起来的字符串,会进行变量替换。

[xinlin@localhost ~]$ a=12345
[xinlin@localhost ~]$ b=abcde
[xinlin@localhost ~]$ echo $a
12345
[xinlin@localhost ~]$ echo $b
abcde
[xinlin@localhost ~]$ echo 'ab'
ab
[xinlin@localhost ~]$ echo "ab"
ab
[xinlin@localhost ~]$ echo "$a$b"
12345abcde
[xinlin@localhost ~]$ echo "${a}${b}"
12345abcde

看到区别了吧。

引号带来的另一个好处是,有些bash变量(字符串)中间有空格,因此需要使用引号括起来,否则会被命令当成不同的参数。这就像再给变量赋值的时候,等号要紧贴变量名,中间不能有空格。

[xinlin@localhost ~]$ name = 12345
-bash: name: command not found
[xinlin@localhost ~]$ name=12345
[xinlin@localhost ~]$ echo $name
12345
[xinlin@localhost ~]$ fn=xin lin
-bash: lin: command not found
[xinlin@localhost ~]$ fn='xin lin'
[xinlin@localhost ~]$ echo $fn
xin lin

再给name变量赋值的时候,等号两边不能有空格;

fn这个变量的值中间有空格,赋值的时候,要用到引号。这里用的是单引号,如果是双引号,还可以做变量替换。

[xinlin@localhost ~]$ a=12345
[xinlin@localhost ~]$ b="abcde $a"
[xinlin@localhost ~]$ echo $b
abcde 12345

bash就是通过各种方式对字符串进行处理,然后调用各种内部外部命令执行用户希望的功能。

本文链接:http://www.maixj.net/ict/yinhao-20879

相关文章

留言区

电子邮件地址不会被公开。 必填项已用*标注


前一篇:
后一篇:
推一篇:可靠正规,长期稳定,网络兼职项目!!

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top