字符串与引号
Shell 的模型就是标准的字符流过滤器模型,简单来说,就是一条命令把结果送到标准
输出,这个标准输出被连接到下一个命令的标准输入,由此来实现一系列命令之间的联动。
每一个命令的输出都是自己过滤后的字符流,接受的输入都是一个需要过滤处理的字符流。
故字符串是 Shell 中很重要的数据。
字符串通常需要使用引号,尤其是其包含若不转义就会引起歧义的字符时。 Shell 下有 3
种引号,分别是单引号 ('')、双引号 ("")和反引号 (``)。其中除反引号(` `)用于命令外,前两种都用于字符串。

1:单引号('')
单引号中的字符串 Shell 不会做任何处理,在需要保持字符串原样不变的时候使用。
2:双引号("")
双引号中的字符串 Shell 会进行处理,若其中含有可以求值的部分,会被 Shell 替换为
求值的结果,其中包含变量、表达式或命令。
下面用一个范例来对比这两种情况的差异。先给一个变量 foo 赋值为 bar,如果在字符
串中用“$”符号引用 foo 变量,在单引号中和双引号中结果不同,单引号会原样输出: $foo,
而双引号中的“$foo”会被替换成变量的值 bar。实际运行结果如图 所示。


                                                 单双引号的区别
3:反引号(``)
反引号比较特殊,它一般用来引用一条命令,并且将这个命令的输出结果(输出到标准
输出上)作为这个字符串最终的值,作用于符号“$()”相同。
在反引号中或者在$()符号中的命令的输出会被当作字符串的实际内容。如果反引号引
用的命令出现在双引号字符串中,这部分也会被替换为命令的输出。运行结果如图 所示

反引号取命令结果

注:date 命令的作用是输出当前日期时间

Shell中 单引号(‘‘) 双引号(““) 反引号(``) $() 的区别相关推荐

  1. 【Shell秒懂系列】引用及转义(单引号/双引号/反斜杠/反引号)

    Shell编程中主要以字符串实现数据传递,因此也赋予引号更多含义.为避免一些不必要的麻烦,你应当首先考虑使用双引号引用参数变量; 引号和转义是Shell中对字符串进行解析.扩展的主要手段. 引号释义 ...

  2. Shell脚本,环境变量,位置变量,预定义变量,自定义变量,单引号双引号反引号用法,一般变量和交互式变量read定义,密文输入变量信息

    Shell脚本,变量,系统预设的环境变量,位置变量,预定义变量,用户的自定义变量 一.定义变量 1.以固定的名称存放可以变化的值 2.格式为 变量名=变量值 3.取消变量的格式 unset 变量名 4 ...

  3. php 中的单引号 双引号 反引号的作用

    字符串的写法 字符串以单.双或倒引号围住分别有不同的义意. 单引号 例如: $str = 'An apple a day keeps the docter away.' 当字符串出现 ' 符号时,必须 ...

  4. python字符串中既有单引号又有双引号_python基础——字符串单引号双引号三引号...

    字符串定义可用'(单引号),""(双引号),'''(三个单引号)定义 双引号与单引号几乎没什么区别,三个单引号在定义时全部接受需要定义的内容(包括回车空格),并直接显示,不需要额外 ...

  5. shell 单引号 双引号 反引号 嵌套单双引号 看这篇就够了

    1.编写shell脚本 #!/bin/bash do_date=$1 echo '$do_date' echo "$do_date" echo "'$do_date'&q ...

  6. java 反引 双引号_Shell 单引号 双引号 反引号 反斜线

    在Linux中有四种较特殊的符号,分别为双引号 单引号 反引号 反斜线 使用双引号时,相当于等号后面的值作为一个字符串常量赋给了前者(其实这里并没有太大作用),例如: m=java echo $m / ...

  7. js中 单引号 双引号 参数问题 单引号 替换成 \' 双引号 替换成 \ 等

    .replace(/\'/g, "\\'")    ->  ' 替换成  \' .replace(/\"/g, "\\\"")  -& ...

  8. 单引号双引号和三引号的区别

    单引号双引号和三引号的区别 单引号双引号引用字符串没有区别.三引号引用字符串有所见即所得的功能,三引号也可以用来作为注释.例如: print ('''刘德华牛逼 ''') 结果就是 刘 德华牛逼

  9. python中的单引号双引号和三引号

    python的单引号和双引号没有本质的区别,而三引号有两种作用:注释和换行 一. 单引号中可以包含双引号,双引号中可以包含单引号 print("好好学习,'天天向上'")结果: 好 ...

  10. centos shell基础 alias 变量单引号 双引号 history 错误重定向 21 jobs 环境变量 .bash_history source配置文件 nohup ...

    centos shell基础知识 alias  变量单引号 双引号   history 错误重定向 2>&1  jobs  环境变量 .bash_history  source配置文件 ...

最新文章

  1. 我在 GitHub 上发现了一款骚气满满的字体!
  2. verilog中数组的定义_开源仿真工具Icarus Verilog中的verilog parser
  3. etcd 日志压缩_etcd集群备份和数据恢复以及优化运维
  4. Visual Studio 2015 速递(4)——高级特性之移动开发
  5. 阿里巴巴如何改善开发人员在 K8s 上的体验?
  6. 32f407tim4时钟源频率_STM32学习笔记04—SysTick时钟
  7. 如何解决分布式系统中的“幽灵复现”?
  8. 抽象类的实际应用--模版设计
  9. 前端:分享一些实用的JS代码片段
  10. 《SpringCloud超级入门》使用Eureka集群搭建《十三》
  11. python花括号代替缩进_Python 为什么甩掉累赘的花括号,使用缩进来划分代码块?...
  12. python import from class_彻底搞懂Python 中的 import 与 from import
  13. 如何提高程序员的生产率 (1)
  14. 学界 | NLP年度盛宴EMNLP/CoNLL 2018最精彩论文精选(摘要+评论)
  15. 普中V2 7人多数表决器 51单片机 仿真 proteus
  16. 【产品经理】产品经理进阶之路(六):互联网思维详解
  17. android studio Emulator is outdated
  18. JavaScript工具函数(一)
  19. 03.spring framework的AOP
  20. 【自然语言处理概述】文本词频分析

热门文章

  1. 点云系统的搭建--ROS,OPENNI,PCL1.8
  2. MACBook 空间整理
  3. 新政后上海楼市现奇葩业主:建群广拉中介 “传销式”寻接盘侠
  4. [Leetcode] 361. Bomb Enemy 解题报告
  5. matlab识别硬币面值,基于matlab的硬币识别
  6. 微信公众号开发学习(一)
  7. 微信小程序点击图片保存到相册
  8. 内核对swi2c的实现
  9. Salted Password Hashing - Doing it Right
  10. 4x4键盘键号显示实验微型计算机课程设计,单片机原理与应用考试大纲