终端中的“(单引号)有什么作用?


8

如果我<enter>在终端中键入'(单引号,在按钮旁边),然后按Enter,则会显示>提示。这到底是什么,它的作用是什么,我可以在这里输入什么类型的命令?

我可以<Ctrl-C>解决,但仅此而已。

Answers:


6

终端不仅接受单行代码。实际上,您可以多行编写代码(因为bash脚本一种编程语言)。

例如,如果您编写:

while true; do <enter>

它也将显示>与您的案例完全相同的内容。它使您可以输入更多命令。现在,如果您输入:

echo "Cake is a lie" <enter>
sleep 1              <enter>
done                 <enter>

它将开始运行您的代码(在这种情况下,这只是一个while循环,每1秒输出一个字符串)。这使您可以构建小型程序,而不必用一行代码编写它们,如下所示:

while true; do echo "Cake is a lie"; sleep 1; done

在这种情况下,这不是问题,但在其他情况下(可能要编写更多代码)则可能是这样。

因此,它通常用于编写多行代码。在您遇到的情况下,shell会识别出您'的代码内部没有偶数,并且在任何情况下都行不通(适用于")。因此,它使您可以编写更多代码来完成剩下的内容。

例如,如果您给出命令:

echo "Cake is a <enter>

那么它将让您继续。实际上,您可以:

lie"            <enter>

它将正常输出:

Cake is a
lie

我看到了,因此与其给我一个错误消息,不如给它一个机会来智能地完成命令。这个“模式”有名称吗?
Insperatus

2
我不认为它有一个特殊的名称,通常被称为“第二提示”
hytromo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.