在终端中,'(单引号)的作用是什么?

如果我在终端中键入 '(单引号,位于按钮旁边),然后按下回车键,它会进入一个>提示符。这到底是什么,它用来做什么,以及我可以在这里输入什么类型的命令?
我可以使用退出,但只有这个功能。
1个回答

终端不仅仅接受一行代码。事实上,你可以用多行代码编写代码(因为Bash脚本是一种编程语言)。

例如,如果你写:

while true; do <enter>

它会显示与您的情况完全相同的>。它允许您输入更多的命令。现在,如果您键入:

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

它将开始运行您的代码(在这种情况下,它只是一个每秒输出字符串的while循环)。这样可以让您构建小型程序,而无需像这样一行一行地编写代码:
while true; do echo "Cake is a lie"; sleep 1; done

在这种情况下,这并不是一个问题,但在其他场合(需要编写更多代码的情况下)可能会成为问题。
因此,它通常用于编写多行代码。在您的情况下,Shell会识别到您的代码中没有偶数个'字符,这在任何情况下都无法正常工作(对"字符也适用)。因此,它允许您编写更多的代码以完成您未完成的部分。
例如,如果您输入以下命令:
echo "Cake is a <enter>

然后它会让你继续。事实上,你可以继续:
lie"            <enter>

通常情况下,它会输出:
Cake is a
lie

1我明白了,所以它不是给我一个错误信息,而是给我一个完成命令的机会,让它更易理解。这种"模式"有一个名字吗? - Insperatus
2我认为它没有特别的名称,通常被称为“次要提示”。 - hytromo