linux中单引号、双引号

linux中单引号与双引号的区别和用法

1、单引号

单引号定义为所见即所得,单引号内部的内容原样输出,被单引号引起来的内容不管时变量还是常量都不会发生替换

#在表示连续字符串时,单引号、双引号、无引号都是一样的
[root@cn21 ~]# str1="string"
[root@cn21 ~]# str2='string2'
[root@cn21 ~]# str3=string3
[root@cn21 ~]# echo $str1
string
[root@cn21 ~]# echo $str2
string2
[root@cn21 ~]# echo $str3
string3
#在引用变量时,单引号所见即所得。单引号是全引用,被单引号括起来就不会变化
[root@cn21 ~]# var=123
[root@cn21 ~]# echo '$var'
$var
[root@cn21 ~]# echo $var
123
[root@cn21 ~]# echo "$var is"
123 is

2、双引号

双引号引用的内容,是先把内容中的命令、变量等解析出结果,然后再输出最终内容

[root@cn21 ~]# var2="test 123"
[root@cn21 ~]# var3='test 123'
[root@cn21 ~]# var4=test 123
-bash: 123: 未找到命令
[root@cn21 ~]# echo $var4

[root@cn21 ~]# echo "$var2 hello $var3"            #先把内容中的命令、变量等解析出结果,然后再输出最终内容
test 123 hello test 123
[root@cn21 ~]# echo "$var2"
test 123

3、反引号

用于命令替换,相当于$()的作用

[root@cn21 ~]# echo `cat /etc/passwd`
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin 
[root@cn21 ~]# echo $(cat /etc/hosts)
dd d d ddfafaffaf drrrrrtttt deeeeeeef
[root@cn21 ~]# echo "$(cat /etc/hosts)"    #echo在引用变量的时候,注意一般要加双引号,不加的话会丢失细节,比如换行符等
dd
d
d
ddfafaffaf
drrrrrtttt
deeeeeeef
[root@cn21 ~]# echo `cat /etc/hosts`
dd d d ddfafaffaf drrrrrtttt deeeeeeef
[root@cn21 ~]# echo "`cat /etc/hosts`"
dd
d
d
ddfafaffaf
drrrrrtttt
deeeeeeef
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值