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