Ответ 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