Відповідь 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