引用符号在解析器中保护特殊元字符和参数扩展,其使用方法有3种:反斜杠(\),单引号(’‘),双引号(“”)。

单引号和双引号必须匹配使用,均可在解析器中保护特殊元字符和通配符,但是单引号(硬转义)主要用于信息的原样输出,防止任何变量的扩展,双引号(软转义)允许变量扩展、转义符和命令替换。单引号保护双引号,双引号保护单引号。

1. 反斜杠

反斜杠通过解析器将1个字符转化为引用符号或转义。

1)在单引号内使用反斜杠,反斜杠不会被解析,保持原样输出。

2)在双引号内使用反斜杠,主要用于美元符号($),反单引号(``),双引号(""),单引号('')的输出,以及转义符的解析,其中单引号的输出中,反斜杠和双引号不能同时使用。

3)不使用单引号和双引号(如:echo \,输出为空),则反斜杠可以被看做自动忽略。

2. 单引号

1)单引号内不允许任何变量、元字符、通配符、转义符的解析,均被原样输出。

2)使用双引号或反斜杠转义可显示输出单引号,但是双引号和反斜杠不能被同时使用。

如命令:echo “\'”,输出结果会为(\'),而不是(')

3)可解析正则表达式,与sed和grep命令配合使用

3. 双引号

保护特殊元字符和通配符不被shell解析,但是允许变量和命令替换,以及转义符的解析。

4. 附录

在此顺便学习一下linux常见的特殊字符,包括通配符、转义符和元字符。

4.1 通配符(wildcard)

通配符实际上是一种shell实现的路径扩展功能,当shell在“参数”中遇到通配符后,会将其当做路径或文件名在磁盘上搜寻可能的匹配,以下表格中列出了比较常用的shell通配符,以供大家参考和学习。

字符

含义

实例

*

匹配一个或多个字符

a*b        a与b之间可以有任意长度的字符

?

匹配任意一个字符

a?b        a与b之间必须也只能有一个字符

[list]

匹配list中任意单一字符

a[xyz]b  a与b之间必须也只能有一个[xyz]之间的字符

a[0-9]b  a与b之间必须也只能有一个0-9之间的数字字符

a[!0-9]b a与b之间有且只有一个字符,同时字符不能为0-9

{string list}

匹配字符串列表中的任一字符串

a{abc,xyz,123}b a与b之间只能为abc或xyz或123

需要说明的是,通配符与正则表达式语句有些相似,但它与正则表达式不同,只能将其理解为shell特殊字符即可,而且只涉及*,?,[]和{}。

4.2 元字符(Meta)

字符

说明

命令分隔符,在前一个命令结束时,忽略其返回值,继续执行下一个命令

&

后台运行命令,最大的好处是无需等待命令执行结束,就可以在同一命令行下继续输入命令

=

变量名=值,为变量赋值。注意"="左右紧跟变量名和值,中间不要有空格

$

变量值替换,"$变量名"替换为shell变量的"值",为避免在文本连接时混淆,请使用${变量名}

>

输出重定向,prog > file 将标准输出重定向到文件(覆盖原文件内容)

>>

输出重定向,prog >> file 将标准输出追加到文件

<

输入重定向,prog < file 从文件file中获取标准输入

|

管道命令,例:p1 | p2 将p1的标准输出作为p2的标准输入

()

在子shell中执行命令,或用于运算,或用于命令替换($(command))

{}

在当前shell中执行命令,或用在变量替换的界定范围(例如上面的${变量名}用法)

&&

前一个命令执行成功后,才继续执行下一个命令。例:p1 && p2 ,若p1执行成功后,才执行p2,反之,不执行p2

||

前一个命令执行失败后,才继续执行下一个命令。例:p1 || p2 ,若p1执行成功后,不执行p2,反之,才执行p2

!

执行历史记录(history列表)中的命令,如!1

~

用户主目录

4.3 转义符

shell提供的转义符有3中:单引号(''),双引号(""),反斜杠(\)。转义符已在上述内容中进行了详细介绍,在此只是对其做一个简单总结。

字符

说明

''(单引号)

硬转义,其内部所有的shell元字符、通配符等都不会被解析,用于参数的原样输出。注意,硬转义中不允许再出现单引号

""(双引号)

软转义,可用于保护元字符和通配符,但是允许变量和命令替换的扩展,也允许反斜杠转义符的解析

\(反斜杠)

转义,保护元字符或通配符不被shell解析,主要用于双引号,单引号,反单引号和美元符号

与echo和sed连用时,常用的反斜杠转义字符如下表所示:

转义符

意义

\a

响铃字符

\b

后退符,即删除前一个字符

\c

输出不换行,与/n作用相反

\d

以“星期、月、日”表示日期

\f

换行,但光标仍停留在原处

\h或\H

显示基本主机名或显示完整的主机名

\t或\T

24小时或12小时制时间

\n

输出换行

\r

光标移至行首,并且不换行

\s

当前shell的名称,如bash

\t

插入Tab键

\u

当前登录shell的用户名

\v

Bash版本

\w

当前工作目录

\W

当前工作目录的基名

\\

反斜杠\\,有无双引号,结果相同

\$

美元符号$,有无双引号,结果相同

\"

双引号“,有无双引号,结果相同

\'

单引号’,不能与双引号同时使用

\`

反单引号`,有无双引号,结果相同

\nnn

插入八进制所代表的ASCII字符

linux java 反斜杠_每日linux命令学习-引用符号(反斜杠\,单引号'',双引号)...相关推荐

  1. 每日linux命令学习-引用符号(反斜杠\,单引号'',双引号)

    引用符号在解析器中保护特殊元字符和参数扩展,其使用方法有3种:反斜杠(\),单引号(''),双引号(""). 单引号和双引号必须匹配使用,均可在解析器中保护特殊元字符和通配符,但是 ...

  2. linux java串口读写权限_解决linux下java读取串口之权限问题 No permission to create lock file. | 学步园...

    在终端或IDE中运行java读取串口程序时,总是报告如下信息: [lhwtouch@localhost root]$ java Main Experimental: JNI_OnLoad called ...

  3. python字符串赋值_【python】字符串变量赋值时字符串可用单或双引号

    >>> name='萧峰' >>> print(name) 萧峰 >>> name="独孤求败" >>> p ...

  4. Linux每日一命令学习系列总结

    Linux每日一命令学习系列 这里是罗列出最常用的命令组合,而不是一个个详细介绍每个参数的用法,适合当你面对linux的终端的时候,知道有哪些命令,可是不知道加啥组合参数有啥效果的时候使用. 具体的可 ...

  5. Linux下 “>/dev/null 2>1 “ 命令学习

    Linux下 ">/dev/null 2>&1 " 命令学习 参考链接: 1.https://blog.csdn.net/sunrier/article/det ...

  6. Linux中单引号双引号的区别与用法

    1.单引号 单引号将其中的内容都作为了字符串来,忽略所有的命令和特殊字符,类似于一个字符串的用法 echo 'This is a string' >>> This is a stri ...

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

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

  8. 单引号, 双引号,反引号的区别

    单引号, 双引号,反引号的区别 区别: 区别: 单引号: 所见即所得 里面的内容会原封不动显示出来 双引号: 会解析里面的变量和特殊符号 反引号: 反引号里面的内容会被优先执行 [root@alice ...

  9. java defunct怎么杀掉_杀死Linux中的defunct进程(僵尸进程)的方法指南

    一.什么是defunct进程(僵尸进程)在 Linux 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程.当用ps命令观察进程的执行状态时 ...

最新文章

  1. opencv 图像识别 e语言_openCV-特征点匹配算法介绍一:理解特征
  2. java聚水潭_聚水潭.sln · killvs/jusuitan - Gitee.com
  3. 一起学习C语言:C语言基本语法(二)
  4. git checkoutbranch 回退到某个版本进行修改
  5. 使用VMware创建一个虚拟机,并安装乌班图系统
  6. 【39】给定一个无重的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复
  7. 网络统考计算机操作题分数占比,计算机一级office考试 word占多少分值?
  8. 一、运维概述与操作系统概述
  9. 走近“云地基”的开拓者云快线
  10. Unity(设置鼠标指针贴图)
  11. 成为一名优秀的Python工程师需要怎么做?
  12. Web 实时消息推送详解
  13. 园区信息通信基础设施管理方案
  14. 启发式函数在A* 中的作用
  15. 深扒中国最神秘的百亿快时尚巨头SheIn
  16. winmail邮箱服务器怎么看,Winmail Mail Server邮件服务器软件怎么使用?Winmail Mail Server安装以及使用教程详...
  17. arcgis定义投影报错
  18. GitHub的raw.githubusercontent.com无法链接
  19. 万达文旅重起炉灶 王健林瞄准红色文旅
  20. Demis Hassabis:AI 的强大,超乎我们的想象

热门文章

  1. 如何使用 Sublime Text 编辑器?从入门到精通(图文系列一)
  2. 《请停止无效努力》读书笔记脑图
  3. 【FXCG】欧洲央行首席经济学家:通胀可能稳定在2%的目标附近
  4. android 关于plurals 和xliff 的使用方法
  5. 游戏计算机械设备吗,大型机械设备进出场及安拆工程量按使用机械设备的数量以台班计算。...
  6. 企业财务制度二--会计科目名称和编号(一)1122 应收利息(转载)
  7. XMind 8 Update 7 Pro 激活码
  8. 工作一年JAVA科班生的自学经历
  9. 为Solaris服务器配置款安全的防火墙
  10. JetLinks物联网基础平台-通过第三方MQTT服务接入设备