Linux中三种引号(单引号、双引号、反引号)的区别

2023-11-13

1. 双引号

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

2. 单引号

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

  • 使用双引号或反斜杠转义可显示输出单引号,但是双引号和反斜杠不能被同时使用。如命令:echo “\‘”,输出结果会为(\’),而不是(')。

  • 单引号可保证其内部所有字符不被shell解析,如单引号与grep、sed、awk命令配合使用,则单引号内部字符将直接发送给grep、sed、awk命令进行正则表达式的解析。使用grep、sed、awk命令时,推荐与单引号配合使用。

grep "\\\\" filegrep '\\' file执行的是相同的命令,解析如下:
第一条命令使用了双引号,允许shell对转义符进行解析,shell把四个\解析成2个\传递给grep,grep再把2个\解析成一个\查找;
第二条命令使用了单引号,shell不允许解析,直接把2个\传递给grep,grep再把2个\转义成一个\查找。

3. 反引号

反引号的功能是命令替换,在反引号(``) 中的内容通常是命令行,程序会优先执行反引号中的内容,并使用运行结果替换掉反引号处的内容。

4. 无引号

  • Linux中具有特殊含义的字符均保持他们的特殊含义,如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容来。

  • 但如果字符串中带有空格等特殊字符,则不能完整的输出,需要改加双引号。

  • 一般连续的字符串,数字,路径等可以用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux中三种引号(单引号、双引号、反引号)的区别 的相关文章

  • 除了 iptables 之外还有数据包管理实用程序吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 Linux 实用程序 它可以根据一组规则更改网络数据包的有效负载 理想情况下 我会使用
  • 尝试 SSH 时设备的 ioctl 不合适

    我正在尝试通过 SSH 连接几台服务器并尝试获取sudo l每个服务器的输出 下面是我正在执行的脚本 bin bash serverlist tmp servers while IFS read r server netgroup user
  • 将用户添加到组但运行“id”时未反映

    R 创建了一个名为 Staff 的组 我希望能够在不以 sudo 身份启动 R 的情况下更新软件包 所以我使用以下方法将自己添加到员工中 sudo usermod G adm dialout cdrom plugdev lpadmin ad
  • 命令行参数中的“-”(破折号)有什么魔力?

    例子 创建 ISO 映像并将其直接刻录到 CD mkisofs V Photos r home vivek photos cdrecord v dev dev dvdrw 更改到上一个目录 cd 侦听端口 12345 并解压发送到该端口的数
  • 如何随时暂停 pthread?

    最近我开始将 ucos ii 移植到 Ubuntu PC 上 我们知道 在pthread的回调函数中的 while 循环中简单地添加一个标志来执行暂停和恢复是不可能模拟ucos ii中的 进程 的 如下解决方案 因为ucos ii中的 进程
  • 如何从 C 文件更改终端中的目录

    如何从 C 程序更改将在终端上生效的目录 实际上不要告诉 system 函数或 chdir 函数 这些仅适用于 C 中的进程或子 shell 假设我正在从 bash shell 执行一个 C 程序 其进程 ID 为 10223 那么 我可以
  • 如何修改s_client的代码?

    我正在玩apps s client c in the openssl源代码 我想进行一些更改并运行它 但是在保存文件并执行操作后 我的更改没有得到反映make all or a make 例如 我改变了sc usage函数为此 BIO pr
  • 操作系统崩溃的常见原因[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有兴趣了解 操作系统崩溃 不限于Windows崩溃 最常见的技术原因 从操作系统编程的角度 有哪些 我正在寻找一个不像 打开太多应用
  • sed 仅最后一个匹配模式

    我想sed仅文本文件的最后一个匹配模式 输入文件 boy boy girl boy 输出文件 boy boy girl boys 一种方法是反转文件 仅替换第一个匹配项 然后再次反转 tac
  • 如何使用 tmuxinator 在 tmux 中拆分水平窗格内的两个垂直窗格

    目前我的 tmuxinator yml 文件中有这个 windows editor layout main horizontal panes vim server rails s 这给了我两个窗口 一个用于编辑器 另一个用于服务器 在编辑器
  • Nasm 打印到下一行

    我用 nasm Assembly 编写了以下程序 section text global start start Input variables mov edx inLen mov ecx inMsg mov ebx 1 mov eax 4
  • Mono 和 WebRequest 速度 - 测试

    在 mono 4 6 2 linux 中 我注意到 wget 下载文件的速度与webclient DownloadString 所以我做了一个小测试来调查 为什么 wget 明显比 C 快 根据我自己的实验 使用 wget 下载 手动读取文
  • Bash 中 $() 和 () 之间的区别

    当我打字时ls l echo file 支架的输出 这只是简单的回显 被获取并传递到外部ls l命令 就等于简单的ls l file 当我打字时ls l echo file 我们有错误 因为不能嵌套 内部外部命令 有人可以帮助我理解之间的区
  • jpackage linux 创建的桌面文件不足

    我刚刚开始使用 jpackage 它是一个非常棒的工具 只要迈出一步 我的肩上的工作就减轻了很多 我对看起来硬编码且无法定制的东西越感到惊讶 JPackage 自动生成启动器 lib
  • xdotool 类型需要很长时间并导致整个桌面冻结

    我一直在使用xdotool type过去只能在快捷方式上输入耸肩xdotool type 这可行 但总是需要相当长的时间 并导致整个桌面冻结 完全冻结 而不仅仅是输入 几秒钟 不过并没有太打扰我 现在我需要一种方法来从文件中读取内容 对其进
  • 测试linux下磁盘空间不足

    我有一个程序 当写入某个文件的磁盘空间不足时 该程序可能会死掉 我不确定是否是这种情况 我想运行它并查看 但我的测试服务器不会很快耗尽空间 有什么办法可以嘲笑这种行为吗 看起来没有任何方法可以在 Ubuntu 中设置文件夹 文件大小限制 并
  • 使用 sed 将 old-link-url 替换为 new-link-url

    我正在 bash 中编写一个脚本 将 old link url 替换为 new link url 我的问题是 sed 由于斜杠而无法替换 url 如果我只输入一些文字就可以了 my code sed e s old link new lin
  • 静态链接共享对象?或者损坏的文件?

    我有一个从专有来源获得的库 我正在尝试链接它 但出现以下错误 libxxx so 文件无法识别 文件格式无法识别 Collect2 ld 返回 1 退出状态 确实 ldd libxxx so statically linked 这究竟意味着
  • gnome-terminal 新选项卡,使用别名作为要执行的命令

    我已经创建了一个别名 bashrc文件如下 alias myproject cd Desktop myproject 当我重新启动终端时保存文件后 输入myproject带我到项目目录 但是当我尝试使用别名作为新的命令参数时gnome te
  • 如何阅读shell命令的源代码?

    我想阅读编写linux命令的实际源代码 我已经获得了一些使用它们的经验 现在我认为是时候与我的机器进行更深层次的交互了 我在这里找到了一些命令http directory fsf org wiki GNU http directory fs

随机推荐

  • 全数字锁相环的研究与设计

    参考文档 http www doc88 com p 4364928925689 html 一篇硕士学位论文 全数字锁相环的研究与设计 https www docin com p 1390623327 html 基于延迟锁定环的TDC的设计
  • mysql 连接池断开后自动连接

    MySQL对所有连接的有效时间默认为28800秒 正好8小时 也就是说 如果一个连接8小时没有请求和操作 就会自动断开 但是对于 Hibernate来说 它的连接池并不知道它所管理的连接中是否有被MySQL断开的 如果一个程序要使用数据库连
  • 实时数仓之实际落地如何选型和构建

    往期类似文章 实时数仓之 Kappa 架构与 Lambda 架构 奔跑者 辉的博客 CSDN博客 企业级 实时数仓架构图 奔跑者 辉的博客 CSDN博客 第一部分 Spark基础篇 奔跑者 辉的博客 CSDN博客 第一部分 Flink基础篇
  • 找不到msvcp120dll,无法继续执行代码的修复方法

    本教程操作系统 Windows系统 msvcp120 dll是电脑文件中的dll文件 动态链接库文件 如果计算机中丢失了某个dll文件 可能会导致某些软件和游戏等程序无法正常启动运行 并且导致电脑系统弹窗报错 msvcp120 dll文件丢
  • 32 --> 详解 OpenWRT系统框架基础软件模块之netifd

    一 简介 OpenWrt路由操作系统的框架基础软件有很多 大部分是通用的软件模块 如 dhcp dnsmasq iproute cmwp vpn ipsec等等 OpenWrt还集成部分具有专属特征软件模块 也是OpenWRT系统核心框架软
  • 【云原生】k8s之Ingress

    内容预知 1 Ingress的相关知识 1 1 Ingress的简介 1 2 Ingress 的组成 1 3 Ingress Nginx的工作原理 1 4 新生代Ingress controller Traefik Ingress ngin
  • 代码随想录算法训练营第十九天

    代码随想录算法训练营第十九天 一 654 最大二叉树 这题跟构造二叉树的题目一样 比较简单 class Solution private TreeNode traversal vector
  • 什么时候触发MinorGC?什么时候触发FullGC?

    触发MinorGC Young GC 虚拟机在进行minorGC之前会判断老年代最大的可用连续空间是否大于新生代的所有对象总空间 1 如果大于的话 直接执行minorGC 2 如果小于 判断是否开启HandlerPromotionFailu
  • chatgpt赋能python:Python安装Numpy库详细教程

    Python安装Numpy库详细教程 Python是一种高水平语言 当我们需要处理数值计算和科学计算时 通常需要使用Numpy库 Numpy库可以使Python在处理数组时变得更加便利 本文将会详细介绍如何在Python中安装Numpy库
  • 前端好用工具推荐-获取页面区块坐标

    最近分析网页的区块的逻辑关系和区块的坐标 找了一下相关的画图工具和插件 最后发现还是chrome牛叉 工具多 插件也多 而且非常方便好用 其中一个插件叫做 FE助手 能够方便的确定页面位置的坐标 而且使用起来相当方便 除此之外还有很多页面代
  • Stream流的使用

    目录 流介绍 流的生成 流的操作类型 流的使用 中间操作 终端操作 流介绍 流是从支持数据处理操作的源生成的元素序列 源可以是数组 文件 集合 函数 流的目的不在于保存数据 而是计算 流的生成 通常有5种方式 1 通过集合生成 List
  • 李宏毅老师机器学习选择题解析

    机器学习选择题解析加整理 项目说明 本项目是李宏毅老师在飞桨授权课程的配套问题 课程 传送门 该项目AiStudio项目 传送门 仅供学习参考 三岁出品必是精品 整理内容源于李宏毅老师机器学习课程群提问答疑解析内容 单选题 一 机器学习训练
  • nginx 禁止浏览器(www.xxxxx.com.cn/test/)访问目录,允许本地去访问目录和目录中文件

    location test return 404 解释 location 匹配浏览器的域名 区分大小写 test 域名后面跟着的目录名称 可以换成别的 return 404 也可以把 deny all 改换成 return 404 这样将返
  • TensorFlow安装使用问题集锦(不定期更新)

    记录TF安装使用过程中出现的bug进行记录与解决 1 SystemError Sonnet requires tensorflow probability minimum version 0 4 0 to be installed If u
  • 程序开发过程中的传值问题

    一 传参方式 单个值 二 传参方式 url传递多个值 用 三 传参方式 1 url传数组 2 url传多个参数 需要用 分号分割 3 案例 A页面向B页面传值几个步骤 1 先在A页面写单选提交事件传值 2 在传入页面B页面的onload里面
  • 高速下载百度网盘资料(Tampermonkey+百度网盘直链下载助手+xdown)

    下载百度网盘中的游戏 电影等文件时 由于百度自身对下载速度的限制 非VIP用户总是无法全速下载 下载速度一般在100KB s左右 如果短时间内下载文件 gt 10G还会有更严苛的下载速度限制 一般在50KB s 一周后解除限速 一旦我们想下
  • Unity5.x Animator之RootMotion

    Unity3D 中 Generic 动画导入设置和 Root Motion 之间的关系 Unity3D 的 Mecanim 动画系统可以直接复用 3DS MAX 中制作的动画文件中的位移 这个就是通过 applyRootMotion 来达成
  • UnityNative Plugin 导出时遇到的坑

    必须要在链接的输入里面添加模块定义文件 文件大概是这样 就是为了阻止名称混淆 否则UnityPluginLoad UnityPluginUnload这两个函数无法自动被Unity加载 file used by Visual Studio p
  • 死磕 java同步系列之JMM(Java Memory Model)

    简介 Java内存模型是在硬件内存模型上的更高层的抽象 它屏蔽了各种硬件和操作系统访问的差异性 保证了Java程序在各种平台下对内存的访问都能达到一致的效果 硬件内存模型 在正式讲解Java的内存模型之前 我们有必要先了解一下硬件层面的一些
  • Linux中三种引号(单引号、双引号、反引号)的区别

    1 双引号 保护特殊元字符和通配符不被shell解析 但是允许变量和命令的解析 以及转义符的解析 2 单引号 单引号内不允许任何变量 元字符 通配符 转义符被shell解析 均被原样输出 使用双引号或反斜杠转义可显示输出单引号 但是双引号和