首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Bash Shell 中单引号和双引号的区别

有四种不同类型的引号字符: 单引号 ' 双引号" 反斜杠 \ 后引号` 除反冲外,其余三个字符成对出现。 让我们详细看看它们。...1.单引号 Shell 中的单引号会忽略其中所有类型的特殊字符,单引号之间的所有内容都被视为一个元素。 让我们举个例子,这是一个示例文本文件,其中包含 90 年代的一些板球运动员。...双引号 双引号的工作方式与单引号几乎相似。几乎是因为他们也倾向于忽略所有特殊字符,除了: 美元符号 $ 反引号` 反斜杠 \ 由于不会忽略美元符号,因此您可以期望变量名被其值替换。...3.反斜杠 反斜杠就像在单个字符周围加上单引号。反斜杠“转义”它之前放置的字符。 这意味着反斜杠后面的字符将失去其特殊含义(如果有)。...在下面的示例中,date 被替换为 date 命令的输出,显示 Linux 系统的当前日期和时间。

3.7K50

07-2 引用

1.双引号 若把文本放在双引号中,那么 shell 使用的所有特殊字符(除美元符号 “ $ ” 、反斜杠 " \ "、反引号 “ ` ”)都将失去它们的特殊含义,而被看成普通的字符。...(3)参数、算术扩展和命令替换仍有效 ① 切记: 所有特殊字符,除美元符号 “ $ ” 、反斜杠 " \ "、反引号 “ ` ” 以外都将失去它们的特殊含义,而被看成普通的字符。...2.单引号 如果我们希望抑制所有的扩展,那么应使用单引号。...这种情况可以通过在该字符前加上反斜杠来实现。这里的反斜杠称为转义字符。 转义字符经常在双引号中用来有选择性地阻止扩展。...需要注意的是,单引号中的反斜杠将失去它的特殊含义,而只是被当成一个普通字符。

70630
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PHP定义字符串的四种方式

    2、单引号与双引号   2.1、单引号   在单引号中,任何特殊字符都会按原样输出【除\\、\‘将会被转义输出】 eg. 1 <?php 2 $var = 'this is a var!'...从上面例子中我们可以明显看到,变量是没有被解析的;同时带反斜杠的转义字符仅仅只有单引号、反斜杠被转义输出了,其他的是直接输出。   ...2.2、双引号   在双引号中,遇到$将会解析该变量;   双引号中会转义反斜杠的转义字符; 转义字符代码 转义字符的含义 \ " 双引号 \ ' 单引号 \ \ 反斜杠 \ n 换行符 \ r 回车符...由上面例子我们可以知道,双引号中的变量被解析了,替换成字符串;其他带反斜杠的转义字符都进行了相应的转义。   ...2.3、单双引号之间的区别 以上两者主要区别:   1、双引号会替换变量的值,而单引号会把它当做字符串输出。

    89620

    使用Bash时,哪些字符需要转义?

    将整个字符串放在单引号中 这适用于除单引号本身之外的所有字符。要转义单引号,请关闭其前的引号,插入单引号,然后重新打开引号。...s/'/'\\\\''/g":•s 是 sed 的替换命令。•/'/'\\\\''/g 中的匹配模式:',即单引号。替换内容:'\\\\'',这里用两个反斜线 \\ 来转义单个反斜线 \。...g 标志表示全局替换,在输入文本中所有的匹配都会被替换,而不仅仅是最先出现的那个。•作用:将文本中的每个单引号替换为 '\'',这样单引号就可以在单引号引起来的字符串中安全使用。...•在文本的最后一行结尾添加一个单引号。 这样处理后的文本可以安全地用作 shell 输入,即使其中包含单引号。 2. 用反斜杠转义每个字符 这适用于所有字符,除了换行符。...g 标志表示全局替换,在输入文本中所有的匹配都会被替换,而不仅仅是最先出现的那个。•作用:将文本中的每个字符前面都加上一个反斜线,实现字符转义。

    7810

    vim 正则表达式

    于是,vim就规定,正则表达式的元字符必须用反斜杠进行转义才行, 如上面的例子,如果确实要用正则表达式,就应当写成 /foo\(1\) 。...简单地说, magic就是设置哪些元字符要加反斜杠哪些不用加的。 简单来说: magic (\m):除了 $ . * ^ 之外其他元字符都要加反斜杠。...nomagic (\M):除了 $ ^ 之外其他元字符都要加反斜杠。 这个设置也可以在正则表达式中通过 \m \M 开关临时切换。...\v (即 very magic 之意):任何元字符都不用加反斜杠\V (即 very nomagic 之意):任何元字符都必须加反斜杠 例如: /\v(a.c){3}$ # 查找行尾的abcaccadc...命令本身倒是相当简单,用过正则表达式的人估计都知道“.”匹 配表示除换行符之外的任何字符吧。 4,去掉所有的“/* */”注释:“:%s!\s*/\*\_.\{-}\*/\s*! !g”。

    1.5K30

    一日一技:难以置信,还有人不知道反斜杠和引号的关系

    但我们知道,三单引号是给多行字符串使用的,如果你觉得短短几个字符的字符串,就因为含有双引号或者单引号,你就要搬出三单引号,未免杀鸡用牛刀,那么,你还可以使用反斜杠。...'单引号'比\"双引号\"更好看" 也就是说,如果你字符串最外面使用的是单引号,那么你可以在字符串里面自带的单引号前面加上反斜杠;如果你字符串最外面使用的是双引号,那么你可以在字符串里面自带的双引号前面加上反斜杠...可以看到,它的字典中,content的值是使用三双引号包起来的,所以,值里面的单引号没有必要加上反斜杠。 大家可能会觉得非常奇怪,上面这些规则,看起来都是显而易见的,怎么可能有人会搞混呢?...但是如果你是在调试别人的代码,看到了一个字符串里面出现了反斜杠,你不一定能反应过来单引号前面的反斜杠是这样来的。当你自己使用三引号或者双引号包裹这样一段字符串的时候,你是可以直接删除这个反斜杠的。...有些同学在写爬虫的时候,抓目标网站的 API 接口,看到返回的 JSON 字符串里面有反斜杠,想都不想,反手一个.replace把所有反斜杠全部替换成空。这种做法显然是错误的。

    1.6K40

    Linux笔记5.展开与引用

    如果你把文本放在双引号中, shell 使用的特殊字符,除了 $,\ (反斜杠),和 `(倒引号)之外, 则失去它们的特殊含义,被当作普通字符来看待。...如果需要禁止所有的展开,使用单引号 [root@senlong tmp]# echo $USER root [root@senlong tmp]# echo '$USER' $USER [root@senlong...我们可以在字符之前加上一个反斜杠,在这个上下文中叫做转义字符。经常在双引号中使用转义字符,来有选择地阻止展开。...[root@senlong tmp]# echo "The balance for user $USER is: \$5.00" 注意在单引号中,反斜杠失去它的特殊含义,它 被看作普通字符。...反斜杠转义字符序列 反斜杠除了作为转义字符外,反斜杠也是一种表示法的一部分,这种表示法代表某种 特殊字符,叫做控制码。ASCII 编码表中前32个字符被用来把命令转输到像电报机 一样的设备。

    75540

    sed & awk 第二版学习(四)—— 基本 sed 命令

    如果跟在 # 后面的第一个字符是 n,那么脚本不会自动产生输出,这和指定命令行选项 -n 是等价的。跟在 n 后面的其余的内容被看做是注释。...因为反斜杠也是替换字符串的元字符,所以需要用两个反斜杠输出一个反斜杠。替换字符串中的“&”表示“UNIX”。& 允许指定一个可变的替换字符串,该字符串是与实际内容匹配的字符串。下面是两个应用场景。...下面是替换字符串: \/^\\.XX \/s\/\1\/\1\/ 它产生以地址开头的替换命令:地址开始为斜杠,然后是两个反斜杠以输出一个反斜杠,转义跟在后面的“.XX”中的句点。...然后是一个空格,接着是另一个反斜杠以结束地址。接下来输出后面跟有斜杠的“s”,然后回调被保存的部分用来作为正则表达式。这后面跟着一个斜杠并且再次调用保存的子串并将它作为替换字符串。...脚本中的后续命令应用于替换后的行。如果没有抑制默认输出,那么在替换发生之前会打印当前行。 在下面的例子中,当空行跟随一个匹配模式的行时,则删除该空行。

    10110

    如何在 Linux 中使用空格处理文件名?

    [202204081653643.png] 在上面的屏幕截图中,当我尝试使用cat agatha books命令时,它不明白那agatha books是一个参数,它将agatha和books视为不同的文件名...,您的终端可能会显示带有反斜杠转义的空格的文件名。...您也可以使用单引号代替双引号。 cat 'file name with spaces' [202204081654860.png] 单引号忽略任何特殊字符。...双引号忽略除 $、反引号和反斜杠之外的所有内容。更多关于它的一些其他教程。 在文件名中创建一个带有空格的文件 现在,您需要在终端中输入空格以在此处创建文件名,再次使用反斜杠或引号。...有反斜杠和正斜杠,如果这些斜线太多,它可能会吓倒新用户甚至是经验丰富的用户。 当文件名中有反斜杠时,它会变得更加混乱。然后你会看到双反溅。

    4K00

    宽字节注入讲解

    我讨厌现在的自己,一边压抑着自己的情绪,一边装作没事的样子,一到深夜就彻底崩溃了,天亮后还要微笑面对生活。。。...3、宽字节注入是利用mysql的一个特性,使用GBK编码的时候,会认为两个字符是一个汉字 二、addslashes()函数 1、addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。...2、预定义字符是:单引号(’),双引号(”),反斜杠(\),NULL 3、实例 <?php $ss=addslashes('aiyou"bu"cuoo'); echo($ss); ?...id=2,返回正常信息 2、判断是否存在注入,在id=2后面加入’,看是否报错,发现单引号被转义了 3、替换反斜杠,反斜杠的GBK编码为%5C,根据GBK编码在前面加上%DE,%DF,%E0。。。...都可以组成一个汉字,从而把反斜杠给‘吃’了 4、成功替换了反斜杠 5、获取数据库列数,order by 4返回正常 192.168.0.104/aiyou/1.php?

    60520

    linux中操作带有空格和特殊字符的文件名

    上述错误的原因是,shell 将破折号后的任何内容解释-为选项,显然没有这样的选项,因此是错误。.../-abc.txt 注意:您可以将nano替换为您选择的任何其他编辑器,例如vim: >vim -- -abc.txt or >vim ....'#abc.txt' 并验证刚刚创建的文件为: >ls -l total 0 -rw-r--r-- 1 avi avi 0 Jun 8 12:14 #abc.txt 创建一个文件,其名称包含#除乞讨之外的任何地方...>touch =12.txt 处理反斜杠 \反斜杠告诉 shell 忽略下一个字符。您必须将文件名括在单引号中,就像我们在分号的情况下所做的那样。其余的事情都是直截了当的。...但是,如果您必须创建这样的文件,则必须使用反斜杠来忽略它的下一个字符。要创建上述文件,我们必须这样做..

    7.5K20

    3. Groovy 语法-字符串学习

    和java中的字符串拼接一样,所有的groovy中的字符串也可以通过+号进行拼接。...可以通过使用反斜杠转义换行符来删除该字符。 所以在开头的三个单引号后面我添加了一个\否则的话,会多一个换行 2.3 转义字符 和java中的转义字符是一样的。...任何Groovy表达式都可以插入到所有字符串中,单引号和三单引号字符串除外。插补是在计算字符串时用它的值替换字符串中的占位符的行为。占位符表达式被${}包围。...斜杠转义的一个结果是斜杠字符串不能以反斜杠结束。否则将转义斜杠字符串结束符。您可以使用一个特殊的技巧:/这是我们的内容${'\'},添加有一个反斜杠,最后斜杠结尾/。...简单来说,就是如果我们通过反斜杠转义不满足我们的需求的时候,可以试试$+/反斜杠的模式来转义。

    7.2K20

    Shell 变量引用实例

    引用符 名称 说明 '' 单引号 称全引用或弱引用,引用所有的字符 "" 双引号 称部分引用或强引用,引用除美元符号($)、反引号(‘)和反斜线(\)之外的所有字符。...`` 反引号 shell 把反引符中的内容解释为系统命令 / 反斜杠 转义符,屏蔽下一个字符的特殊意义 实例脚本 可以使用 sh -v testVar.sh 命令来执行如下脚本,查看原始命令及输出内容...# 把 pwd 解释为系统命令,即:先执行 pwd,再 echo 打印 echo `pwd` # 相等于 `pwd` echo $(pwd) # 同理 echo `echo $var` ## 单引号...echo '单引号引用时,输出字面内容:$var' echo '单引号引用时,输出字面内容:${var}' ## 转义符 echo '使用单引号引用,不需要使用转义符号: $、`、"、\' echo..."使用双引号引用,需要使用转义符号: \$、\`、\"、\\" echo "\$var" ## 反引号嵌套单引号和双引号 jobName=dev-daodaotest viewName=dev #

    2.2K10

    珂兰寺小课堂|PHP代码审计(一)

    这个信息跟在CGI程序名的后面,两者中间用一个问号'?'分隔。 REMOTE_ADDR 这个环境变量的值是发送请求的客户机的IP地址,例如上面的192.168.1.67。这个值总是存在的。...2. magic_quote_gpc(php 5.4后被取消) 开启后会对get, post,cookie变量中的单引号,双引号,反斜杠,以及空字符(NULL)前面加上反斜杠。...3. magic_quotes_runtime 与magic_quotes_gpc相同,是在单引号,双引号,反斜杠以及空字符前面加反斜杠,区别是magic_quotes_runtime是对从数据库或者文件中获取的数据进行过滤...,但是仅仅是把转移空字符和单引号变成双单引号(用单引号来转义单引号)。...将PHP所有能打开的文件限制在指定的目录树,包括文件本身。 本指令不受安全模式打开或者关闭的影响。

    1.5K20

    Grep(Regex)中的正则表达式

    为了在使用基本正则表达式时保持元字符的特殊含义,必须使用反斜杠(\)对字符进行转义。稍后我们将解释这些和其他元字符的含义。 通常,您应始终将正则表达式括在单引号中,以避免shell解释和扩展元字符。...字符以反斜杠转义,因为我们使用的是基本正则表达式: $grep 'b\?right' file.txt 下面是使用扩展正则表达式的同一个正则表达式: $grep -E 'b?...替换操作符| (pipe)允许您指定不同的可能匹配,可以是文字字符串或表达式集。该操作符在所有正则表达式操作符中优先级最低。...使用基本正则表达式时,必须用反斜杠(\)对括号进行转义。 下面的示例同时匹配“ fearless”和“ less”。 ? 量词使(fear)组成为可选的: $grep -E '(fear)?...less' file.txt 反斜杠特殊表达式 GNU grep包含几个元字符,由反斜杠和常规字符组成。

    2.8K40

    C语言深度解剖 (三)

    const stu2=&stutmp2; //const 在后的定义 , 参考之前的const使用方法,如果将 Stu_pst 与 typedef struct student { ... } * 进行简单替换...; y=x/(*p); } 只要 / 与 * 之间没有空格,都会被当作注释的开始,要进行合理规避 注释代码段时,应强调 为何做why 而不是 怎么做how ---- 接续符 \ 表示断行,编译器会将反斜杠剔除掉...,跟在反斜杠后面的字符自动接续到前一行 #def\ ine MAC\ RO xyz void main() { //这是一条合法的\ 单行注释 //warning C4010: single-line...comment contains line-continuation character cha\ r* s="comment te\ st"; } 反斜杠之后不能有空格,反斜杠的下一行之前也不能有空格...---- 单引号,双引号 Item Comment 1 整型常数,32位系统下占4个byte '1' 字符常量,占1个byte "1" 字符串常量,占2个byte ---- 逻辑运算 #include

    58030

    Groovy语法系列教程之字符串(三)

    4.2 字符串连接 所有的Groovy字符串都可以用+运算符连接: assert 'ab' == 'a' + 'b' 4.3 三重单引号字符串 三重单引号字符串是一系列字符,由3个单引号包围: '''...strippedFirstNewline.startsWith('\n') 4.3.1 转义特殊字符 您可以使用反斜杠字符\对单引号进行转义,以避免终止字符串文字: '转义的单引号:\'需要反斜杠'...您可以使用双反斜杠来转义转义字符: '一个转义的转义字符:\\需要双反斜杠' 一些特殊字符还将反斜杠用作转义字符: 转义字符 意义 \t 制表符 \b 退格 \n 换行 \r 回车 \f 换页 \\...反斜杠 ' 单引号字符串中的单引号(对于三重单引号和双引号字符串是可选的) " 双引号字符串中的双引号(对于三重双引号和单引号字符串是可选的) \t 制表符 \b 退格键 在稍后介绍的其他类型的字符串中...要转义双引号,可以使用反斜杠字符:双引号:\""。 4.4.1 字符串插值 Groovy表达式可以插入所有类型字符串中,除了单引号和三重单引号字符串。

    7.8K51

    mysql通配符转义_转义MySQL通配符

    根据ANSI SQL,除这些字符外, 不得 转义:\’这是错误的。(尽管MySQL通常会让您摆脱它。) 完成此操作后,您进入第二个转义级别,这是普通的旧字符串文字转义。...这里引起混乱的问题是,在MySQL中,两个嵌套转义步骤都使用反斜杠作为转义字符!因此,如果要将字符串与文字百分号匹配,则必须双反斜杠转义并说出LIKE ‘something\\%’。...或者,如果在PHP “文字中也使用反斜杠转义,则”LIKE ‘something\\\\%'”。啊!...根据ANSI SQL,这是不正确的,它表示:在字符串文字中,反斜杠表示文字反斜杠,而转义单引号的方式为”;在LIKE表达式中,默认情况下根本没有转义符。...为了理智,我们将选择除该死的反斜杠以外的其他东西! function like($s, $e) { return str_replace(array($e, ‘_’, ‘%’), array($e.

    5.1K20
    领券