linux,单引号双引号,算是复习吧

关于grep的引号使用问题

单引号:
所见即所得:即将单引号中内容原样输出,也就是单引号’'是全引用。
双引号:
解析式输出:如果双引号的内容中有命令、变量等,会先把变量、命令解析成结果,再将结果输出。双引号""是部分引用。

单双引号:
综上:常量用单引号’'括起,而含有变量则用双引号""括起。单双可同时出现,单扩住双。

举例:
“”号里面遇到$,\等特殊字符会进行相应的变量替换
‘’号里面的所有字符都保持原样

对于字符串,两者相同

匹配模式也大致相同
但有一些区别非常容易混淆

grep "KaTeX parse error: Expected 'EOF', got '#' at position 16: a" file #̲引用变量a,查找变量a的值 g…a’ file #查找“$a”字符串
grep “\” file #grep: Trailing backslash(不知原因)
grep ‘\’ file #查找‘\’字符

特殊字符

1、$ 美元符
2、\ 反斜杠
3、` 反引号
4、" 双引号

这四个字符在双引号中是具有特殊含义的,其他都没有,而单引号使所有字符都失去特殊含义
如果用双引号,查找一个\,就应该用四个:
grep “\\” file 这样就对了,这样等同于:
grep ‘\’ file

第一条命令shell把四个,转义成2个\传递给grep,grep再把2个\转义成一个\查找
第二条命令shell没转义,直接把2个\传递给grep,grep再把2个\转义成一个\查找
其实grep执行的是相同的命令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值