O que '(aspas simples) faz no terminal?

8

Se eu digitar '(aspas simples, ao lado do <enter>botão) no terminal e, em seguida, pressione enter >. O que exatamente é isso, para que é usado e que tipo de comando posso inserir aqui?

Eu posso <Ctrl-C>sair disso, mas é tudo o que tenho.

Insperatus
fonte

Respostas:

6

Um terminal não aceita apenas código de uma linha. Na verdade, você pode escrever código (como o bash scripting é uma linguagem de programação) em várias linhas.

Por exemplo, se você escrever:

while true; do <enter>

mostrará exatamente o mesmo >que mostrou para o seu caso também. Permite inserir mais comandos. Agora, se você digitar:

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

ele começará a executar seu código (que, nessa ocasião, é simplesmente um loop while que produzirá uma string a cada 1 segundo). Isso permite que você crie pequenos programas sem precisar escrevê-los no código de uma linha, assim:

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

o 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 possui um número par 'no seu código e isso não pode funcionar 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>

então isso permitirá que você continue. E, de fato, você pode:

lie"            <enter>

Ele normalmente produz:

Cake is a
lie
hytromo
fonte
Entendo, então, em vez de me dar uma mensagem de erro, está me dando uma chance de concluir o comando de forma inteligente. Existe um nome para este "modo"?
Insperatus
2
Eu não acho que ele tem um nome especial, que é normalmente referido como 'secundário pronta'
hytromo