Відповідь JohnC вже пояснює зворотний зв'язок. Але те, що вам теж цікаво - це >підказка. Це підказка продовження, і вона не тільки запускається зворотним відбитком, але завжди, коли ваша оболонка чітко знає, що ви не закінчили введення команди. Найпростіший приклад - це явне продовження рядка \в кінці рядка введення (що допомагає розділити довгий вхід):
$ echo \
> hallo
Зауважте, що так само, як PS1керує зовнішнім виглядом командного рядка, ви також можете встановити PS2зміну запиту продовження, наприклад
$ export PS2="(cont.) "
$ echo \
(cont.) hallo
Є багато причин для продовження. Один backtick є неповним, але ви також можете ввести щось подібне
ls -l `which cp`
в одному рядку (сторона-примітка: рекомендується використовувати, $(а )замість цього, оскільки в дужках стає зрозуміло, де розпочинається і закінчується розширення, тоді як окремі бекстейки ускладнюють побачити, де пропав. І вкладати ...). Інші можливі причини для продовження запиту:
- відсутній
doneпісля whileабоfor
- зниклий безвісти
fiпісляif
- зниклий безвісти
esacпісляcase
- відсутні дужки, що закриваються, наприклад, в підрозділах
(cd $HOME; cat .bashrc)
- відсутня команда після трубопроводу
|, а також умовне виконання ||та &&( &незважаючи на те, що це лише те, що команда працює у фоновому режимі)
- відсутня заключна пропозиція (
'або ")
Цікаво, що відсутня дужка }після змінної розширення ${також викликає запит на продовження, але вийде з ладу через вставлений пробіл:
$ echo ${
> PS2}
bash: ${
PS2}: bad substitution