文章目录

  • 一、引号的作用
  • 二、反引号 ``
  • 三、单引号 ''
  • 四、双引号 ""
  • 五、引号解释顺序

一、引号的作用

1、 将多个因为空格或者回车等分隔符隔开的字符串合在一起,避免被命令行解析分开;
例如 “a b c” 是一个字符串,而不会像 a b c 这样会被解析成三个单独的字符串。

2、让一些特殊符号保持原义。


二、反引号 ``

反引号 ` 这个字符所对应的键一般位于键盘的左上角, 和单引号 ’ 是有区别的。

反引号括起来的字符串会被 shell 解释为命令行,
在执行时,shell 首先执行该命令行,并以它的标准输出结果取代整个反引号(包括两个反引号)部分。

虽然反引号 `cmd` 和 $(cmd) 变量替换的效果是一样的,但是使用上还是有一些区别的,
具体可戳 《 Linux 反引号 `cmd` 和 $(cmd) 的区别 》 了解。


三、单引号 ‘’

由单引号括起来的所有字符都作为普通字符出现。
即使是特殊字符,用单引号括起来以后,也会失去原有意义,而只作为普通字符解释。

例如'$a' 不会被展开做变更替换, ‘cmd’ 也不会执行其中的 cmd 命令;


四、双引号 “”

由双引号括起来的字符,除 $、反引号 (`) 和反斜杠(\)仍保留其特殊功能外,其余字符均作为普通字符对待:

$  :      用于变量替换
反引号` :  用于命令替换
反斜杠\ :  用于转义

需要注意的是,反斜杠 \ 的转义能力是有限的,仅当 \ 后面的字符是下述字符之一时, \ 才是转义字符:

$
`

\
newline换行符(回车)

转义字符告诉 Shell 不要对其后面的那个字符进行特殊处理,只是当作普通字符。


五、引号解释顺序

对于 bash 来说,命令的解释是 从左到右 的;
因此 先遇到单引号 或者 先遇到双引号,解释效果是不一样的;

举个例子:

$ a=1$ echo "'$a'"
'1'              # 单引号失效$ echo  '"$a"'
"$a"           # 双引号失效

Linux 反引号、单引号、双引号简析相关推荐

  1. sed -i 单引号中嵌套双引号_【linux】Shell 单引号#x27;#x27; 双引号quot;quot; 反引号`` 和$()的区别和用法...

    发行版为 red hat 以及centos,其他发行版未经验证 部分段落摘抄自网络,侵删 转载请注明出处 感谢点赞 单引号''和双引号"" 两者都是解决变量中间有空格的问题. 在b ...

  2. Linux Shell - 单引号 ( ‘ )、双引号 ( “ ) 和反引号 ( ` )

    Linux Shell - 单引号 ( ' ).双引号 ( " ) 和反引号 (`) Bash 只有一种数据类型,即字符串.用户输入的数据,Bash 都视为字符串. 1. 单引号 (') 单 ...

  3. 描述linux shell单引号,Linux shell 单引号和双引号

    在编写shell脚本的时候经常会用到引号,有些时候却老是忘记单引号和双引号之间的区别, 所以就整理一下供以后脑子不好使了的时候前来复习一下.首先说下他们的共同点: 好像就只有 一个,就是它们都可以用来 ...

  4. linux命令行中,双引号中的感叹号将被解释为历史命令

    linux命令行中,双引号中的感叹号将被解释为历史命令. 命令: test -e ttt/ && echo "file exist!" || echo " ...

  5. js中单引号和双引号的区别(html中属性规范是用双引号,js中字符串规定是用单引号)(js中单引号区别和php很像:单引号快,双引号可转义字符,双引号可解析变量)...

    js中单引号和双引号的区别(html中属性规范是用双引号,js中字符串规定是用单引号)(js中单引号区别和php很像:单引号快,双引号可转义字符,双引号可解析变量) 一.总结 1.html中属性规范是 ...

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

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

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

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

  8. 【java基础】双引号内使用双引号必须在里面的双引号前加转义字符\

    摘要:双引号内使用双引号必须在里面的双引号前加转义字符"\".请看下面的代码 import java.util.*; class CollectionTest {public st ...

  9. bash 变量加双引号与不加双引号效果大不相同!

    bash 变量加双引号与不加双引号效果大不相同! 做一个实验: temp_var=$(route -n) temp_var 变量加""是这样的, 可认为是原样输出 hjj@hjj- ...

  10. Linux中bash下三种引号的作用(双引号,单引号,反引号)

    1.``:命令替换 在输出一句话的时候,如果想中间加入命令输出结果,在反引号里面输入命令就可以做到,和$COMMAND是一样的. [root@localhost ~]# echo today is ` ...

最新文章

  1. smack+openfire实现Android实时通信(实现大部分基本功能)
  2. SQL判断文件是否存在
  3. 防止用户利用PHP代码DOS造成用光网络带宽
  4. 苹果系统里面 dictionary 如何加入中文词典
  5. 神策数据出席 TIC 2018 大会,共同赋能大数据时代
  6. eclipse入门指南
  7. {%extends bootstrap/base.html%}的添加,使得其他block无法继承
  8. C程序中main函数参数调用[个人学习简记]
  9. mysql删除emp表的语句_MySQL删除数据表(DORP TABLE语句)
  10. python数据标注工具_使用Python实现简易的数据标注工具
  11. Windows 2000 Server Resource Kit CD BT下载地址
  12. 电商扣减库存_什么样的电商产品经理更值钱?先解决这个难题!
  13. 【天池竞赛系列】菜鸟-需求预测与分仓规划初赛冠军解决方案
  14. 软件开发流程中的测试及测试方法简介
  15. 下载Synechococcus elongatus UTEX 2973(accession no.为GCA_000817325.1 )的基因组注释文件,统计其中染色体序列(CP006471.1)前10
  16. [算法]Floyd-Warshall算法理解
  17. Python合并不同数量的Excel单元格
  18. java EE /servlet2/基础
  19. 众昂矿业:萤石的简介及其应用
  20. 异地多活架构的3种模式

热门文章

  1. 使用StrongSwan配置IPSec
  2. Hexo+GitHub Pages搭建个人博客( 0 基础、小白值得一看--实力软文!)- 初行ᵀᵀᴴ
  3. Bugly 之热修复学习
  4. 如何找到与证明素数之一:小素数和概率素数的快速检验
  5. [后台系统模板]优质、整洁的基于Bootstrap 3 Bootstrap 4的响应式后台管理系统模板...
  6. 华为ensp小型综合实验
  7. MakeItTalk用一段语音让一张照片动起来
  8. iOS开发,导入c文件引发的 Unknown type name 'NSString' 问题
  9. ubuntu 安装新系统
  10. Locust系列-Locust入门