我的键盘只有正常的引号,而不是智能引号。
我已经发现我需要cgi development中的正常和AWK/SED中的后退。
我应该使用智能报价,普通报价和落后报价吗?
显然,我需要编辑我的键盘布局以获得智能引号。
答案 0 :(得分:16)
如果你用智能引号表示`
,那么它实际上被称为“反引号”。聪明的引号是当你输入'和'时,但是根据上下文自动获得'和'或“和”。我不确定你如何在awk或sed中使用智能引号。
在shell中,反引号(例如`command`
)用于评估命令并将其中的命令结果替换为正在评估的shell表达式;它可用于计算和参数到另一个命令,或设置变量。为了减少歧义,您可以使用$(command)
,这样可以更轻松地制定大量引用规则。
在shell中,'
和"
也不同。 "
用于需要变量替换和转义序列的字符串。 '
表示仅包含引号内字符的字符串,不包含可变插值或转义序列。
所以,例如:
$ 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
其他脚本语言(如Perl和Ruby)也有类似的规则,但可能会略有不同。
答案 1 :(得分:7)
智能引号适用于漂亮的排版。它们与编程无关。
修改:执行所需的引号。
'"foo"'
)echo
``date \
可能执行echo Sat Mar 1 09:43:00 GMT 2008并打印Sat Mar 1 09:43:00 GMT 2008. 答案 2 :(得分:6)
在shell / awk / perl编程中以及在TeX中执行文档时,会使用反引号。除此之外,你可能不会使用它们。
答案 3 :(得分:3)
据我所知,没有语言需要(或必然支持)“智能引号”,除非你将反引号字符称为“智能引用”。如果是这样的话,许多语言支持反击。例如,bash和ruby都使用反引号进行命令替换。
要回答问题当我应该使用智能引号和普通引号时是否有任何规则?,是的,有一条规则(再次,假设你的意思是当你说“智能引号”时的反引号) )。在大多数语言中,不同类型的引用会为您提供不同类型的行为。规则是,了解该特定语言的行为,然后选择能够为您提供该行为的报价。
答案 4 :(得分:2)
聪明的报价是魔鬼。
答案 5 :(得分:1)
智能引号是文字处理器功能。当您键入“quote”时,它会自动替换为“quote”或“quote”。我认为你的命名错误了。
答案 6 :(得分:1)
仅仅是一个FYI,“智能引号”的另一个术语(我之前从未听说过),是一种严肃的口音。
我认为规则在以前的答案中已经非常明确地列出。
答案 7 :(得分:1)
$ / usr / games / fortune