A resposta de JohnC já explica o backtick. Mas o que você também está se perguntando é o >prompt. Isso é um prompt de continuação e não é apenas acionado por um backtick, mas sempre quando seu shell sabe claramente que você não terminou de digitar um comando. O exemplo mais fácil é colocar uma continuação de linha explícita \no final de uma linha de entrada (o que ajuda a dividir a entrada longa):
$ echo \
> hallo
Observe que, assim como PS1controla a aparência do prompt de comando, você também pode PS2alterar o prompt de continuação, por exemplo
$ export PS2="(cont.) "
$ echo \
(cont.) hallo
Existem muitas razões para a continuação ocorrer. Um único backtick está incompleto, mas você também pode inserir algo como
ls -l `which cp`
em uma única linha (nota lateral: É recomendado para usar $(e )em vez disso, uma vez que os parênteses tornar óbvio que a expansão começa e termina, enquanto backticks individuais tornam mais difícil para ver onde um está desaparecido e aninhamento ....). Outras razões possíveis para um prompt de continuação:
- uma falta
donedepois whileoufor
- uma falta
fidepois de umif
- uma falta
esacdepoiscase
- um parêntese de fechamento ausente, por exemplo, em subcascas
(cd $HOME; cat .bashrc)
- um comando ausente após a tubulação
|, bem como a execução condicional ||e &&( &embora não , já que isso está apenas executando o comando em segundo plano)
- uma cotação de fechamento ausente (
'ou ")
Curiosamente, uma chave ausente }após uma expansão variável ${também causa um prompt de continuação, mas falhará devido ao espaço inserido:
$ echo ${
> PS2}
bash: ${
PS2}: bad substitution