精华内容
下载资源
问答
  • 引用: (一)引用(quoting):用来防止Shell将某些你想要的东西解释成不同的意义。 (二)三种引用形式: (1)反斜杠转移(\):字符前的反斜杠用来告知Shell该字符即为字面上的意义。 (2)单引号:强制Shell将...

    一 引用:

    (一)引用(quoting):用来防止Shell将某些你想要的东西解释成不同的意义。


    (二)三种引用形式:

    (1)反斜杠转移(\):字符前的反斜杠用来告知Shell该字符即为字面上的意义。

    (2)单引号:强制Shell将一对单引号之间的所有字符都看作是字面上的意义。

    *Shell会删除这两个引号,只单独留下被括起来的完整文本内容。

    *不可以在单引号里再内嵌一个单引号:例如:echo ''hello'' 输出:hello。

    (3)双引号:与单引号一样,但是双引号会确切地处理括起来文字中的转移字符、算术、命令替换。


    (三)使用场合:

    (1)单引号:希望完全不处理所有字符。

    (2)双引号:希望将多个单词视为一个字符串,但又需要Shell为你做点事情。

    展开全文
  • 文章目录引用引号'双引号"反斜线\反引号` 引用 在第五章中讲到shell中的引用,shell能识别到4种不同的引用字符: 单引号’ 双引号" 反斜线\ 反引号` 前两种和最后一种必须成对出现,而反斜线可以在命令中根据...

    引用

    在第五章中讲到shell中的引用,shell能识别到4种不同的引用字符:

    • 单引号’
    • 双引号"
    • 反斜线\
    • 反引号`

    前两种和最后一种必须成对出现,而反斜线可以在命令中根据需要多次出现,这些引用字符在shell中的含义和功能各不相同。

    单引号’

    shell碰到第一个’,在遇到用于封闭的’之前,shell会忽略单引号对中引用的所有特殊字符,即不再解释字符串中任何特殊字符,对内容的保护比较强,单引号最常见的地方就是一个字符串参数中含有空格时,shell通常会使用空格作为分割符,将一个字符串解释成了多个字符串参数,如下例:

    $ echo one      teo    three four
    one teo three four
    $ echo 'one      teo    three four'
    one      teo    three four
    

    双引号"

    双引号的作用类似于单引号,除了对于内容的保护要弱于后者,双引号会忽略引用的大部分特殊字符。具体来说,下面3个字符在双引号中不会被忽略:

    • 美元符号 $
    • 反引号 `
    • 反斜线 \
    touch file{01..10}
    filelist=*
    echo $filelist
    file01 file02 file03 file04 file05 file06 file07 file08 file09 file10
    echo '$filelist'
    $filelist
    echo "$filelist"
    *
    

    上面的例子中对比了不使用引号,使用单引号以及使用双引号之间的主要不同,在第3行中shell看到了星号并将其替换成当前目录下的所有文件名, 在第5行中,shell完全不处理单引号中的字符,因此显示出了"filelist"7shellshell"filelist", 在第7行中双引号指示shell需要在其中执行变量名替换,因此shell将"filelist"解释为"",因为文件名不会再双引号中完成,所以被只有""被传递给了echo。

    当字符串中含有单引号或双引号时,可以使用双引号来保留单引号,反之亦然。

    x=" hello, 'world'"
    echo $x
    hello, 'world'
    y=' hello, "world"'
    echo $y
    hello, "world"
    

    反斜线\

    除了少数几处例外,反斜线(作为前缀使用)在功能上相当于在单个字符周围放置单引号,反斜线可以对紧随其后的字符进行转义。

    echo >
    -bash: syntax error near unexpected token `newline'
    echo \>
    >
    x=*
    echo \$x
    $x
    

    如上,shell忽略了反斜线之后的>和$x,所以不在执行变量替换。

    当反斜线作为一行最后一个字符时,shell将其视为续行符,会删除随后的换行符,也不会将该换行符作为参数分隔符(假装这个字符没出现过)。在输入跨多行的长命令时经常用这种方法。

    $ echo "1234\
    > 5678\
    > 90"
    1234567890
    

    值得注意的是反斜线的作用在双引号中也是有效的,但在单引号中被作为普通字符处理

    反引号`

    反引号不像之前碰到的那些引号,因为它的功能和用法和前面那三种完全不同。反引号用于告诉shell将其中的命令使用命令输出代替, shell会先执行反引号或者()()中的指令,将输出插入到对应的位置中。反引号和(…)在功能上是一样的,只是$(…)是一种更新更可取的命令替换写法。反引号的一般使用格式为:

    `command`
    
    echo The date and time is: `date`
    The date and time is: Sun Jan 5 15:17:27 CST 2020
    echo The date and time is: $(date)
    The date and time is: Sun Jan 5 15:17:39 CST 2020
    
    name="AbcDefg"
    #转化为大写
    name=$(echo $name | tr '[a-z]' 'A-Z')
    echo $name
    ACDDFGH
    
    展开全文
  • 在mysql中引用字符串常量时候需要用一对英文单引号或者双引号。在一般使用的时候你会发现单引号和双引号没有什么区别。 但是在转义时,我们会使用到单双引号,例如你要查询的字段里面本身就带有单引号或者双引号时,...

    1.单引号双引号
    在mysql中引用字符串常量时候需要用一对英文单引号或者双引号。在一般使用的时候你会发现单引号和双引号没有什么区别。
    但是在转义时,我们会使用到单双引号,例如你要查询的字段里面本身就带有单引号或者双引号时,单双引号就需要注意使用了,比如查询tom’s father,在编辑的时候:
    在这里插入图片描述
    这样自然就是会报错的,因为你的单引号被认为是没有完全的,报了语法错误。因此这种情况我们就需要双引号:

    select "tom's father" from employees;
    

    这样使用了双引号其中的单引号就会被视为普通字符,不用特殊处理。
    同样在双引号也是一样的,我就不举例了,单双引好总结为,在需要转义的时候,也就是你查询的字段有单引号或者双引号那就需要使用另外一种来进行转义。
    2.反引号
    反引号位于esc下方,1前面。它是为了区别mysql保留字和普通字符引入的符号。
    在一般情况下不会使用反引号,但是如果识别符穿线关键字冲突或者标识符写法产生歧义的时候就需要用到反引号。
    例如:

    
    create table t1 (id int primary key ,desc varchar(10));
    

    这里的desc 没有加上反引号,系统不能判断你这是主键名还是降序排列。这种情况我们就需要使用单引号。

    
    create table t1 (id int primary key,`desc` varchar(10));
    

    以下的反引号用法来自我网上找的资料
    如果SQL服务器模式包括ANSI_QUOTES模式选项,还可以用双引号替代反勾号将识别符括起来:

    mysql> CREATE TABLE “test” (col INT);
    ERROR 1064: You have an error in your SQL syntax. (…)mysql> SET sql_mode=‘ANSI_QUOTES’;mysql> CREATE TABLE “test” (col INT);Query OK,
    0 rows affected (0.00 sec)
    之前报错,设置SQL服务器模式包括ANSI_QUOTES模式后,运行成功。

    举个例子:

    SELECT select FROM test WHERE select=‘字段值’
    在test表中,有个select字段,如果不用反引号,MYSQL将把select视为保留字而导致出错,所以,有MYSQL保留字作为字段的,必须加上反引号来区分。
    另外:建表的时候一般都会将表名,库名都加上反引号来保证语句的执行度。反引号`,数字1左边的符号。
    保留字不能用于表名,比如desc,此时需要加入反引号来区别,但使用表名时可忽略反引号。

    create table desc报错
    create table desc成功
    create table test成功
    drop table test成功
    保留字不能用于字段名,比如desc,此时也需要加入反引号,并且insert等使用时也要加上反引号。

    create table testdesc varchar(255))成功
    insert into test(desc) values(‘fxf’)失败
    insert into test(desc) values(‘fxf’)成功

    https://blog.csdn.net/u012060033/article/details/93348261

    展开全文
  • Golang 单引号、双引号与反引号

    千次阅读 2020-04-16 16:35:22
    rune 为 int32 的别名,它完全等价于 int32,习惯上用它来区别字符值和整数值。rune 表示的是字符的 Unicode 码值。 package main import( "fmt" ) func main(){ var c rune = '你' fmt.Printf("c=%v ct=%T...

    在这里插入图片描述

    单引号

    单引号在 Golang 表示一个字符,使用一个特殊类型 rune 表示字符型。rune 为 int32 的别名,它完全等价于 int32,习惯上用它来区别字符值和整数值。rune 表示字符的 Unicode 码值。

    package main
    
    import(
    	"fmt"
    )
    
    func main(){
    	var c rune = '你'
    	fmt.Printf("c=%v ct=%T\n", c, c)
    }
    

    编译运行输出:

    c=20320 ct=int32
    

    字符’你’的 Unicode 码值是 0x4f60,十进制是 20320。

    双引号

    双引号用来创建可解析的字符串字面量,支持转义,但不能用来引用多行。

    package main
    
    import(
    	"fmt"
    )
    
    func main(){
    	str := "hello\n世界"
    	fmt.Println(str)
    }
    

    编译运行输出:

    hello
    世界
    

    反引号

    反引号用来创建原生的字符串字面量 ,这些字符串可能由多行组成,不支持任何转义序列。原生的字符串字面量多用于书写多行消息、HTML 以及正则表达式。

    package main
    
    import(
    	"fmt"
    )
    
    func main(){
    	str := `hello\n世界
    我是 dablelv`
    	fmt.Println(str)
    }
    

    编译运行输出:

    hello\n世界
    我是 dablelv
    

    FAQ

    (1)如何在多行书写不换行的字符串。
    有时使用 fmt.Printf() 输出时,由于格式化字符串太长,想分多行书写,但是又不想引入换行。此时需要将多行的字符串使用运算符 + 拼接在一起。

    package main
    
    import(
            "fmt"
    )
    
    func main(){
            a := 1
            b := true
            fmt.Printf("Format string too long, "+
                    "the value of var is: a=%v b=%v\n",
                    a, b)
    }
    

    编译运行输出:

    Format string too long, the value of var is: a=1 b=true
    

    参考文献

    [1] Golang Rune literals
    [2] Golang String literals

    展开全文
  • Go语言的字符串类型string在本质上就与其他语言的字符串类型不同: Java的String、C++的std::string以及Python3的str类型都只是定宽字符序列 ...Golang的双引号和反引号都可用于表示一个常量字符串,不同在于: ...
  • 1. 单独html标签时,单引号和双引号区别:             ...输出完全一样,故在纯html标签下以上三种写法是完全等效的。  2. 在JS混编情况下html标签的双引号和单引号区别:
  • javascript单引号和双引号

    千次阅读 2013-11-17 11:24:41
    两个双引号的做法是vbScript的,转义字符\"的做法则是... 在JavaScript中单引号和双引号区别不大,都可以用来引用字符串,在表示字符串中完全等效,如果你的字符串中存在单引号则外面就要用双引号,如果字符串中
  • go语言中不倾向使用单引号表示字符串,单引号用于表示Golang的一个特殊类型:rune,类似其他语言的byte但又不完全一样,是指:码点字面量(Unicode code point),不做任何转义的原始内容 双引号用来创建可解析的...
  • go语言中不倾向使用单引号表示字符串,单引号用于表示Golang的一个特殊类型:rune,类似其他语言的byte但又不完全一样,是指:码点字面量(Unicode code point),不做任何转义的原始内容。单引号只能引用一个字符。...
  • js中单引号和双引号

    千次阅读 2016-03-24 18:53:20
    知乎 ... 提问 ...JavaScript 中字符串变量使用单引号和双引号的利弊?...最近在做一些规范的工作,这个点没想明白,到底单引号和双引号有啥利弊,为什么有的规范推荐双引号,我个人习惯了使用单引号。 纯json我
  • 1. 单引号(’) 由单引号括起来的字符都作为普通字符出现。特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释。如例程中的'-1 day',再比如: $ string=’$PATH’ $ echo $string $PATH ...
  • Linux Shell 单引号引号 使用区别

    千次阅读 2018-05-23 23:49:39
    引号 ' 2. 双引号 " 3. 反引号 ` 单引号 两个单引号包围起来的字符串就是普通的字符串,它将保留原始的字面意思. 双引号 两个双引号包围起来的字符串,部分特殊字符将起到它们的作用. 这些特殊字符有: ...
  • 当具有不同身份的单引号紧挨着一起出现在 sql 语句中时常常令人迷惑不解,单引号和双引号在SQL中有什么不同的作用?
  • 引号,双引号,转义

    万次阅读 2012-08-10 15:16:01
    引号,双引号,转义 最近发现一个问题,是有关引号与转义的,于是就整理了一下这方面的知识,以方便以后温故。   双引号: ·在字串中使用变量  这个功能让你无须使用连接符号来粘和大量的简单字符串。...
  • 现在,在PHP中使用双引号,您将使变量$val1和$val2使用它们的值,从而创建一个完全有效的查询。 Like 喜欢 $val1 = "my value 1"; $val2 = "my value 2"; $query = "INSERT INTO `table` (`id`, `col1`, `col2`) ...
  • shell编程中的单引号和双引号的使用

    千次阅读 2016-05-07 10:53:41
    Shell编程 Bash引号的那点事投稿:mdxy-dxy促使我想写这个系列的文章,是因为看到总有人提到相同的问题,犯相同的错误,曾经我也是这么过来的,不忍心看到后面还有人经常这么曲折的过来先了解下,在bash脚本中,有三...
  • 分隔符仅用于标识符。分隔符不能用于关键字,不论它们... 被引用的标识符用双引号 (") 分隔开: SELECT * FROM "Blanks in Table Name" 括在括号中的标识符用方括号 ([ ]) 分隔: SELECT * FROM [Blanks In Table Name]
  • bash的三种引号

    2015-11-12 16:09:01
    bash支持的引号: `` :(和 ~ 一个键) 命令替换 " " :弱引用,可以实现变量替换 ' ' :强引用,不完全变量替换
  • 一般用单引号或双引号标识一个字符串。单引号串与双引号串,在PHP中的处理是不同的。双引号中的内容可以被解释并被替换,单引号串中的内容则被作为普通字符处理。 例如: $str=6; echo "str is $str\n"; echo ...
  • 关于单引号与双引号的区别: php里面的单引号和双引号都能用来表示字符串。但是单引号与双引号之间是有显著的区别的。...所以单引号可以来引用带有双引号的字符串。双引号对 /n , /r ,/t ,/ ,/$, /",/
  • php魔术引号总结

    千次阅读 2015-01-28 23:57:33
    在一个项目中,魔术引号若是打开的话,所有的反斜线(\)、单引号(')、双引号(")、NULL 字符都会被自动加上一个反斜线进行转义,这和 addslashes() 作用完全相同。 这里主要讲四个与之相关的函数:set_magic_...
  • setInterval第一个参数加引号与不加引号区别 在JavaScript中的setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用...
  • 先了解下,在bash脚本中,有三种引号 1. 单引号 ' 2. 双引号 " 3. 反引号 ` 单引号  两个单引号包围起来的字符串就是普通的字符串,它将保留原始的字面意思. 双引号  两个双引号包围起来的字符串,部分...
  • 一、在组成SQL语句并发送命令时完全按照Python中的样式去传递,这样在MySql中执行的时候就会遇到错误的命令,由单引号或者双引号引起。因此应该在组成字符串之前,手动将字符串中的单引号或者双引号之前加上反斜杠,...
  • 最近发现一个问题,是有关引号与转义的,于是就整理了一下这方面的知识,以方便以后温故。   双引号: ·在字串中使用变量  这个功能让你无须使用连接符号来粘和大量的简单字符串。PHP允许我们在双引号串中...
  • Bash引号的那点事

    2014-11-19 12:02:56
    在bash脚本中,有三种引号 1. 单引号 ' 2. 双引号 " 3. 反引号 ` 单引号 两个单引号包围起来的字符串就是普通的字符串,它将保留原始的字面意思. 双引号 两个双引号包围起来的字符串,部分特殊字符将起到它们的作用...
  • PowerShell的双引号

    千次阅读 2007-09-27 10:57:00
    作者: Edengundam(马涛)今天看病速度真快, 趁着空隙, 我就继续上次没有完成工作, 介绍双引号. 双引号用的地方太多了, 今天我依然会在Bash, Perl和PowerShell之间进行对比, 对比的三个方面没有变化: 变量展开(也被...
  • '>序号里面的传值完全可以采用(this)' value='order'>这种方法来解决,外面函数直接 这样调用 XX.value; 3.采用JSTL的方式,将某一变量设值。字符串就可以直接引用了var str=" ${orderSc eq desc}'>"; 记录...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 67,433
精华内容 26,973
关键字:

引号完全引用