环境:VirtualBox4.1 + RedHat Linux 6 + Putty0.62

单引号:

可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么。单引号''是全引用,被单引号括起的内容不管是常量还是变量者不会发生替换。

双引号:

把双引号内的内容输出出来;如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容来。双引号""是部分引用,被双引号括起的内容常量还是常量,变量则会发生替换,替换成变量内容。

不加引号:

不会将含有空格的字符串视为一个整体输出,如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容来,如果字符串中带有空格等特殊字符,则不能完整的输出,需要改加双引号,一般连续的字符串,数字,路径等可以用。

使用规则:

一般常量用单引号''括起,如果含有变量则用双引号""括起。

最大不同:

单引号与双引号的最大不同在于双引号仍然可以保有变数的内容,但单引号内仅能是一般字

元,而不会有特殊符号

使用举例:

“”号里面遇到$,\等特殊字符会进行相应的变量替换

‘’号里面的所有字符都保持原样

对于字符串,两者相同

匹配模式也大致相同

但有一些区别非常容易混淆

grep "$a" file        #引用变量a,查找变量a的值

grep '$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执行的是相同的命令。

参考资料:

http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=218853&page=4

http://bbs.chinaunix.net/thread-588454-1-1.html

http://hi.baidu.com/michael7768/blog/item/33e6c15295e9c2160cf3e391.html

http://sunyu.blog.51cto.com/744725/799589

grep 后加单引号、双引号和不加引号的区别相关推荐

  1. ajax post 传参数加引号和不加引号的区别

    1.前言 用ajax技术,type:post,data:参数列表.参数列表就是一个JSON数据,但key可以加引号,也可以不加引号,那总有区别的. 2.区别 var d2 = "two&qu ...

  2. linux给变量加单引号,单引号、双引号和不加引号区别

    把内容输出出来,可能不会将含有空格的 说一下单引号.双引号和不加引号区别总结说明: 单引号: 可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么. 双引号: ...

  3. sql 单引号,双引号的灵活应用指南

    sql 单引号,双引号,多用在Insert字符串中,使用中经常遇到因为数据类型和变量而发生的奇怪的小问题. 用到的表格: 数据表:test_tab 字段1 username 字符串型(姓名) 字段2 ...

  4. Shell中 单引号(‘‘) 双引号(““) 反引号(``) $() 的区别

    字符串与引号 Shell 的模型就是标准的字符流过滤器模型,简单来说,就是一条命令把结果送到标准 输出,这个标准输出被连接到下一个命令的标准输入,由此来实现一系列命令之间的联动. 每一个命令的输出都是 ...

  5. 小白爬坑记:C语言学习点滴——我对单、双引号的理解

    小白爬坑记:C语言学习点滴--我对单.双引号的理解 一.单引号的作用: 二.双引号的作用: 三.字符或字符串容易犯的错误: 三.做个小题: 一.单引号的作用: 将单引号中间的所有符号直接转换为ASCI ...

  6. Excel实现给加单引号,以及加逗号

    使用公式: 只单纯加单引号: ="'"&A1&"'" 加单引号和逗号: ="'"&A1&"'&qu ...

  7. javascript中字符串的‘单‘与“双“引号

    通常在使用 javascript 进行编码时,您会遇到对字符串使用"单"或"双"引号的情况,并且想知道两者之间是否有任何真正的区别,如果有,使用一个是否有优势其 ...

  8. excel操作每个字段都加单引号,且以逗号分隔

    excel每个字段都加单引号,且以逗号分隔excel选中某一空白列,然后输入公式如下: ="('"&A1&"', '"&B1&& ...

  9. echo命令 单引号,双引号,不加引号和反引号 的区别

    不加引号:字符串原样输出,变量会被替换.(根双引号一样,唯一的不同在于 \ 和 空格) 单引号:引号里面的内容会原封不动的显示出来(很简单,不做解释) 双引号:里面的特殊符号会被解析,变量也会被替换( ...

最新文章

  1. NeurIPS 2019 少样本学习研究亮点全解析
  2. 提高你30%的设计效率的PPT快捷键
  3. 【思维导图】脑机音乐接口,高效检测用户的情绪状态
  4. nginx、fastCGI、php-fpm关系梳理(转载参考)
  5. php远程连接403,php中出现“ HTTP 异常 403 - 禁止访问”解决方法 总结
  6. 【CF487E】Tourists【圆方树】【树链剖分】【multiset】
  7. 【转】WPF 入门《常用控件》
  8. ubuntu下搭建android开发环境(转载)
  9. DeepFaceLab报错,CUDA driver is insufficient 解决方法!
  10. win7误删计算机,Win7系统下文件数据被误删了怎么办
  11. Javascript特效代码大全(420个)(转)
  12. xvid编码器的弹出窗口解决方法
  13. 山东教师教育网博客空间--(他人博客)
  14. 《科学》:基因编辑婴儿入选年度“科学崩坏”事件
  15. java 多线程(四)—— 线程同步/互斥=队列+锁
  16. Docker容器之间数据传输
  17. ES6----promise方法解决回调地狱问题
  18. 网友对spring.net的理解:(为什么要用晦涩难懂的spring?)
  19. MySQL - 21查询分析器EXPLAIN
  20. shell一键生成密钥脚本

热门文章

  1. 非局部均值去噪(NL-means)
  2. Java面试必问!javasocket服务端持久化
  3. 程序隐藏助手下载//老板键下载//上班开小差工具
  4. 为何新疆的股权投资企业所得税是12%,个人所得税是16%
  5. maven跳过Test进行打包
  6. 局域网网盘 构建局域网网盘
  7. Day4-Mybatis框架(多表的关联查询)
  8. 数据结构------双向带头循环链表
  9. laya引擎学习(二、第一个界面)
  10. fopen是python内置函数吗_Python内置的open函数,打开文件的时候可能会产生异常_学小易找答案...