首页 > 系统相关 >shell中$后加引号有什么用($"string"和$'string')

shell中$后加引号有什么用($"string"和$'string')

时间:2025-01-10 09:28:15浏览次数:1  
标签:digits whose shell string 后加 character value bash

(1).如果没有特殊定制bash环境或有特殊需求,$"string"和"string"是完全等价的,使用$""只是为了保证本地化。

以下是man bash关于$""的解释:

       A  double-quoted  string  preceded by a dollar sign ($"string") will cause the string to be translated according to the current locale.  If
       the current locale is C or POSIX, the dollar sign is ignored.  If the string is translated and replaced, the replacement is double-quoted.

(2).还有$后接单引号的$'string',这在bash中被特殊对待:会将某些反斜线序列(如\n,\t,\",\'等)继续转义,而不认为它是字面符号(如果没有$符号,单引号会强制将string翻译为字面符号,包括反斜线)。简单的例子:

[root@xuexi ~]# echo 'a\nb'
a\nb
[root@xuexi ~]# echo $'a\nb'
a
b

以下是man bash里关于$'的说明:

Words of the form $'string' are treated specially.  The word expands to string, with backslash-escaped characters replaced as specified  by  the ANSI C standard.  Backslash escape sequences, if present, are decoded as follows:
              \a     alert (bell)
              \b     backspace
              \e
              \E     an escape character
              \f     form feed
              \n     new line
              \r     carriage return
              \t     horizontal tab
              \v     vertical tab
              \\     backslash
              \'     single quote
              \"     double quote
              \nnn   the eight-bit character whose value is the octal value nnn (one to three digits)
              \xHH   the eight-bit character whose value is the hexadecimal value HH (one or two hex digits)
              \uHHHH the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value HHHH (one to four hex digits)
              \UHHHHHHHH
                     the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value HHHHHHHH (one to eight hex digits)
              \cx    a control-x character

 

标签:digits,whose,shell,string,后加,character,value,bash
From: https://www.cnblogs.com/shujuyr/p/18425167

相关文章

  • Linux Shell 案例练习 ⑩
    1.使用Shell脚本实现计算1到用户输入整数n之间所有奇数和的示例:#!/bin/bash#提示用户输入一个整数,并进行输入验证whiletrue;doecho"请输入一个整数n:"readnif[[$n=~^[0-9]+$]];thenbreakelseecho"输入无效,请输入一个......
  • shell变量和运算符
    shell变量变量说明:$$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process的PID$?最后运行的命令的结束代码(返回值)$-使用Set命令设定的Flag一览$*所有参数列表。如"$*"用「"」括起来的情况、以"$1$2…$n"的形式输出所有参数。$@所有参数列表。如"$@"......
  • 《安富莱嵌入式周报》第348期:开源低功耗测试仪,开源创意万用表,续航100-300小时,开源PCB
    周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 视频版:https://www.bilibili.com/video/BV1Tzr9Y3EQ7/目录:1、开源低功耗测试仪2、开源创意万用表,续航100-300小时3、低级编程和优化实现4、资讯(1)兆易创新推出EtherCAT......
  • StringBuilder练习项目代码及相关知识点
    1.动态字符串操作需求:编写一个程序,接收用户输入的多个单词,并将它们组合成一个完整的句子,同时支持以下功能:动态添加单词删除某些单词将句子反转importjava.util.Scanner;publicclassStringBuilderDemo{publicstaticvoidmain(String[]args){StringB......
  • Java进阶__String类
    在Java中,String类用于表示一串字符序列。String是一个对象类,又被设计为不可变类(immutableclass)。String类在Java中提供了多种处理字符串的方法,还对性能进行了优化。1.特点不可变性:String对象是不可变的,意味着一旦一个String对象被创建,它的值不能被更改(在string类里......
  • 在 PowerShell 中,您可以使用多个命令来管理和监控电池及电源设置。以下是按功能分类的
     在PowerShell中,您可以使用多个命令来管理和监控电池及电源设置。以下是按功能分类的PowerShell电池相关命令及其描述表格。功能分类命令描述电池状态查询Get-WmiObject-ClassWin32_Battery获取当前电池状态信息,如电池充电状态、剩余电量、设计容量等。......
  • VSCode - Change default terminal from Powershell to WSL shell
    TochangethedefaultterminalinVisualStudioCode(VSCode)totheWSL(WindowsSubsystemforLinux)shellinsteadofPowerShell,followthesesteps:1.OpenVSCodeSettingsYoucanopenthesettingsbyclickingonthegeariconinthelower-leftcorn......
  • 忽略string 属性控制警告
    <ProjectSdk="Microsoft.NET.Sdk.Web"><PropertyGroup><TargetFramework>net8.0</TargetFramework><Nullable>disable</Nullable><ImplicitUsings>enable</ImplicitUsings></PropertyGr......
  • 使用Python执行Shell命令并获取结果
    使用Python执行Shell命令并获取结果是一项非常有用的技能,尤其在自动化任务、系统管理和数据处理方面。Python提供了多种方法来运行Shell命令并捕获输出,最常用的是 subprocess模块。以下是如何使用 subprocess模块执行Shell命令并获取结果的详细指南。1.导入 subprocess模块......
  • 大白话拆解——String与其他结构间的转换
    前言:小编终于考完试了,日更一篇,今天这篇一定会对小白非常有用的!!!因为我们会把案例到用代码实现的全过程思路呈现出来!!!我们一直都是以这样的形式,让新手小白轻松理解复杂晦涩的概念,把Java代码拆解的清清楚楚,每一步都知道他是怎么来的,为什么用这串代码关键字,对比同类型的......