Linux 反引号、单引号、双引号简析
文章目录
- 一、引号的作用
- 二、反引号 ``
- 三、单引号 ''
- 四、双引号 ""
- 五、引号解释顺序
一、引号的作用
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 反引号、单引号、双引号简析相关推荐
- sed -i 单引号中嵌套双引号_【linux】Shell 单引号#x27;#x27; 双引号quot;quot; 反引号`` 和$()的区别和用法...
发行版为 red hat 以及centos,其他发行版未经验证 部分段落摘抄自网络,侵删 转载请注明出处 感谢点赞 单引号''和双引号"" 两者都是解决变量中间有空格的问题. 在b ...
- Linux Shell - 单引号 ( ‘ )、双引号 ( “ ) 和反引号 ( ` )
Linux Shell - 单引号 ( ' ).双引号 ( " ) 和反引号 (`) Bash 只有一种数据类型,即字符串.用户输入的数据,Bash 都视为字符串. 1. 单引号 (') 单 ...
- 描述linux shell单引号,Linux shell 单引号和双引号
在编写shell脚本的时候经常会用到引号,有些时候却老是忘记单引号和双引号之间的区别, 所以就整理一下供以后脑子不好使了的时候前来复习一下.首先说下他们的共同点: 好像就只有 一个,就是它们都可以用来 ...
- linux命令行中,双引号中的感叹号将被解释为历史命令
linux命令行中,双引号中的感叹号将被解释为历史命令. 命令: test -e ttt/ && echo "file exist!" || echo " ...
- js中单引号和双引号的区别(html中属性规范是用双引号,js中字符串规定是用单引号)(js中单引号区别和php很像:单引号快,双引号可转义字符,双引号可解析变量)...
js中单引号和双引号的区别(html中属性规范是用双引号,js中字符串规定是用单引号)(js中单引号区别和php很像:单引号快,双引号可转义字符,双引号可解析变量) 一.总结 1.html中属性规范是 ...
- javascript中字符串的‘单‘与“双“引号
通常在使用 javascript 进行编码时,您会遇到对字符串使用"单"或"双"引号的情况,并且想知道两者之间是否有任何真正的区别,如果有,使用一个是否有优势其 ...
- 小白爬坑记:C语言学习点滴——我对单、双引号的理解
小白爬坑记:C语言学习点滴--我对单.双引号的理解 一.单引号的作用: 二.双引号的作用: 三.字符或字符串容易犯的错误: 三.做个小题: 一.单引号的作用: 将单引号中间的所有符号直接转换为ASCI ...
- 【java基础】双引号内使用双引号必须在里面的双引号前加转义字符\
摘要:双引号内使用双引号必须在里面的双引号前加转义字符"\".请看下面的代码 import java.util.*; class CollectionTest {public st ...
- bash 变量加双引号与不加双引号效果大不相同!
bash 变量加双引号与不加双引号效果大不相同! 做一个实验: temp_var=$(route -n) temp_var 变量加""是这样的, 可认为是原样输出 hjj@hjj- ...
- Linux中bash下三种引号的作用(双引号,单引号,反引号)
1.``:命令替换 在输出一句话的时候,如果想中间加入命令输出结果,在反引号里面输入命令就可以做到,和$COMMAND是一样的. [root@localhost ~]# echo today is ` ...
最新文章
- smack+openfire实现Android实时通信(实现大部分基本功能)
- SQL判断文件是否存在
- 防止用户利用PHP代码DOS造成用光网络带宽
- 苹果系统里面 dictionary 如何加入中文词典
- 神策数据出席 TIC 2018 大会,共同赋能大数据时代
- eclipse入门指南
- {%extends bootstrap/base.html%}的添加,使得其他block无法继承
- C程序中main函数参数调用[个人学习简记]
- mysql删除emp表的语句_MySQL删除数据表(DORP TABLE语句)
- python数据标注工具_使用Python实现简易的数据标注工具
- Windows 2000 Server Resource Kit CD BT下载地址
- 电商扣减库存_什么样的电商产品经理更值钱?先解决这个难题!
- 【天池竞赛系列】菜鸟-需求预测与分仓规划初赛冠军解决方案
- 软件开发流程中的测试及测试方法简介
- 下载Synechococcus elongatus UTEX 2973(accession no.为GCA_000817325.1 )的基因组注释文件,统计其中染色体序列(CP006471.1)前10
- [算法]Floyd-Warshall算法理解
- Python合并不同数量的Excel单元格
- java EE /servlet2/基础
- 众昂矿业:萤石的简介及其应用
- 异地多活架构的3种模式
热门文章
- 使用StrongSwan配置IPSec
- Hexo+GitHub Pages搭建个人博客( 0 基础、小白值得一看--实力软文!)- 初行ᵀᵀᴴ
- Bugly 之热修复学习
- 如何找到与证明素数之一:小素数和概率素数的快速检验
- [后台系统模板]优质、整洁的基于Bootstrap 3 Bootstrap 4的响应式后台管理系统模板...
- 华为ensp小型综合实验
- MakeItTalk用一段语音让一张照片动起来
- iOS开发,导入c文件引发的 Unknown type name 'NSString' 问题
- ubuntu 安装新系统
- Locust系列-Locust入门