Ответ JohnC уже объясняет обратную черту. Но то, что вас также интересует, - это > приглашение. Это приглашение к продолжению, и оно вызывается не только обратным трюком, но и всегда, когда ваша оболочка четко знает, что вы не завершили ввод команды. Самый простой пример - это явное продолжение строки \ в конце строки ввода (что помогает разбить длинный ввод):
$ echo \
> hallo
Обратите внимание, что так же, как PS1 контролирует внешний вид командной строки, вы также можете настроить PS2 для изменения приглашения продолжения, например
$ export PS2="(cont.) "
$ echo \
(cont.) hallo
Есть много причин для продолжения. Одиночный бэкстик неполон, но вы также можете ввести что-то вроде
ls -l `which cp`
в одной строке (примечание: рекомендуется использовать $( и ) вместо этого, так как круглые скобки показывают, где начинается и заканчивается расширение, а одиночные обратные метки затрудняют увидеть, где чего-то не хватает). И вложение ...). Другие возможные причины продолжения подсказки:
- пропущенное
done через некоторое while или for
- недостающий
fi после if
- пропавший без
esac после case
- отсутствует закрывающая скобка, например, в подоболочках
(cd $HOME; cat .bashrc)
- пропущенная команда после трубопровода
| а также условное исполнение || и && (не & хотя, поскольку это просто делает команду запущенной в фоновом режиме)
- отсутствует заключительная кавычка (
' или ")
Как ни странно, пропущенная фигурная скобка } после раскрытия переменной ${ также вызывает приглашение продолжения, но завершится неудачей из-за вставленного пробела:
$ echo ${
> PS2}
bash: ${
PS2}: bad substitution