Um terminal não aceita apenas um código de linha. Na verdade, você pode escrever código (como bash scripting é uma linguagem de programação) em várias linhas.
Por exemplo, se você escrever:
while true; do <enter>
ele mostrará exatamente o mesmo >
que também foi exibido para o seu caso. Ele permite que você insira mais comandos. Agora, se você digitar:
echo "Cake is a lie" <enter>
sleep 1 <enter>
done <enter>
ele vai começar a rodar o seu código (o que, neste caso, é simplesmente um loop while que produzirá uma string a cada 1 segundo). Isso permite que você crie pequenos programas sem precisar escrevê-los em um código de linha, assim:
while true; do echo "Cake is a lie"; sleep 1; done
que, neste caso, não é um problema, mas poderia ser, em outras ocasiões (com mais código a ser escrito).
Portanto, geralmente é usado para escrever várias linhas de código. Na sua ocasião, o shell reconhece que você não tem um número par de '
dentro de seu código, e isso não funcionaria em nenhum caso (o mesmo se aplica a "
). Então, vamos escrever mais código para concluir o que você deixou.
Por exemplo, se você der como comando:
echo "Cake is a <enter>
depois, você poderá continuar. E, de fato, você pode:
lie" <enter>
Normalmente, a saída será:
Cake is a
lie