我的键盘只有普通引号,没有智能引号。
我发现我在cgi 开发中需要正常的,在AWK/SED中需要落后的。
当我应该使用智能引号、正常引号和后引号时,有什么规则吗?
显然,我需要编辑我的键盘布局以获得智能引号。
我的键盘只有普通引号,没有智能引号。
我发现我在cgi 开发中需要正常的,在AWK/SED中需要落后的。
当我应该使用智能引号、正常引号和后引号时,有什么规则吗?
显然,我需要编辑我的键盘布局以获得智能引号。
如果您的意思`
是智能引号,那么实际上称为“反引号”。智能引号是当您键入 ' 和 " 时,但会根据上下文自动获取 ' 和 ' 或 " 和 "。我不确定您将如何在 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,也有类似的规则,尽管可能会有细微的差别。
智能引号用于漂亮的排版。它们与编程无关。
编辑:你需要的报价。
'"foo"'
)echo
``date\
可能执行 echo Sat Mar 1 09:43:00 GMT 2008 并打印 Sat Mar 1 09:43:00 GMT 2008。反引号在 shell/awk/perl 编程中以及在 TeX 中处理文档时被大量使用。除此之外,您可能不会经常使用它们。
聪明的报价是魔鬼。
据我所知,任何语言都不需要(甚至必须支持)“智能引号”,除非您将反引号字符称为智能引号。如果是这种情况,许多语言都支持反引号。例如,bash 和 ruby 都使用反引号来进行命令替换。
回答这个问题我应该使用智能引号和普通引号时有什么规则吗?,是的,有一个规则(同样,假设您说“智能引号”时是指反引号)。在大多数语言中,不同类型的引用会给你不同类型的行为。规则是,了解该特定语言的行为是什么,然后选择给出该行为的引用。
智能引号是文字处理器功能。当您键入“quote”时,它会自动替换为“quote”或“quote”。我认为你的命名错误。
仅供参考,“智能引用”的另一个术语(我以前从未听说过),是重音。
我认为在以前的答案中已经很清楚地列出了规则。
$ /usr/游戏/财富