程序员需要哪些引号?

Léo*_* 준영 2 quotes

我的键盘只有正常的引号,而不是聪明的引号.

我已经反过来说我需要在cgi开发中使用正常的,在AWK/SED中需要后向的.

我应该使用智能报价,普通报价和落后报价吗?

显然,我需要编辑我的键盘布局以获得智能引号.

Bri*_*ell 16

如果你的意思`是智能引号,那么它实际上被称为"反引号".聪明的引号是当你输入'和'时,但是根据上下文自动获得'和'或"和".我不确定你如何在awk或sed中使用智能引号.

在shell中,反引号(例如)`command`用于评估命令并将命令的结果替换为正在评估的shell表达式; 它可用于计算和参数到另一个命令,或设置变量.为了减少歧义,您可以使用$(command),这使得许多引用规则更容易解决.

在外壳,'并且"也不同."用于您想要变量替换和转义序列的字符串.'表示仅包含引号内字符的字符串,不包含可变插值或转义序列.

所以,例如:

$ name=world
$ echo "Hello, $name"
Hello, world
$ echo 'Hello, $name'
Hello, $name
$ echo "Testing \\ escapes"
Testing \ escapes
$ echo 'Testing \\ escapes'
Testing \\ escapes
$ echo `ls`
example-file another-example
$ echo 'ls'
ls
$ echo "ls"
ls
Run Code Online (Sandbox Code Playgroud)

其他脚本语言,例如Perl和Ruby,也有类似的规则,尽管可能存在细微差别.


Joh*_*ith 7

聪明的报价是美丽的排版.它们与编程无关.

编辑:你的报价需要.

  • 双引号:""它们用于许多语言的文字字符串
  • 单引号:''用于某些语言中的文字字符,如C和javascript和php等语言中的字符串.(例如,如果你需要打印字符串"foo",你可以使用'"foo"')
  • 返回引号:在UNIX shell中,表示将一个命令的标准输出替换为定义另一个命令的文本行.例如echo``date \可能会执行echo Sat Mar 1 09:43:00 GMT 2008并打印Sat Mar 1 09:43:00 GMT 2008.


Pau*_*lin 6

在shell/awk/perl编程中以及在TeX中执行文档时,反引用会被大量使用.除此之外,你可能不会使用它们.