Добре, коли я запускаю певні команди неправильно, (неправильно написані тощо), термінал виводить так: >замість computername:workingfolder username$, а коли я набираю вводити, йде так:
>
>
>
Це було б, якби я натиснув Enter 3 рази.
Добре, коли я запускаю певні команди неправильно, (неправильно написані тощо), термінал виводить так: >замість computername:workingfolder username$, а коли я набираю вводити, йде так:
>
>
>
Це було б, якби я натиснув Enter 3 рази.
Відповіді:
> є запитом продовження за замовчуванням. Це те, що ви побачите, якщо те, що ви вводили раніше, має незбалансовані лапки.
Як приклад, введіть одну команду в командному рядку з наступними кількома enterклавішами:
$ '
>
>
>
Підказки щодо продовження з’являться, поки ви не зробите це
(a) завершіть команду із закриттям лапки
або
(b) введіть Ctrl+, Dщоб закінчити введення, після чого оболонка відповість повідомленням про помилку щодо незбалансованих лапок,
або
(c) введіть Ctrl+, Cякий скасує команду, яку ви вводили.
Колись вам може захотіти ввести рядок, який містить вбудовані нові рядки. Це можна зробити так:
$ paragraph='first line
> second line
> third line
> end'
Тепер, коли ми відображаємо цю змінну оболонки, ви бачите, що підказки зникли, але нові рядки збереглися:
$ echo "$paragraph"
first line
second line
third line
end
Це станеться, якщо у вас в команді є незакрита цитата. Це щось на кшталт:
$ echo "test here
>
>
...
Ви можете вийти з цього режиму, закривши цитату (написати "або 'або будь-яку відкриту пропозицію). Це також може бути блок з обмеженими дужками, частково повний for-doабо while-doцикл, або певні інші конструкції. Ви також можете натиснути, Ctrl-Cщоб скасувати цю команду (потім натисніть, Upщоб переглянути її).
Іноді це може статися без явної відсутньої цитати, коли параметри або розширення історії відбуваються там, де ви їх не очікували.
Значення >- це ваше PS2("вторинне запит") значення. Ви можете змінити це на щось інше, щоб нагадати, що сталося:
PS2="Unclosed >"
у вашому .bashrcзробить це друком Unclosed >на початку кожного рядка.
Окрім інших відповідей, ви також отримуєте підказку продовження, коли ви вводите a \як останній символ у рядку.
Відповідь полягає в цій виразній згадці в Довідковому посібнику Баша :
5.1 Змінні оболонки Борна
[...]
PS1: Первинний рядок підказок. Значення за замовчуванням - "\s-\v\$". Див. Розділ Друк підказки , на екрані відображається повний перелік послідовностей втечі, розширених ранішеPS1.PS2: Вторинна рядок підказок. Значення за замовчуванням - ">".
… Далі :
6.3.3 Інтерактивна поведінка оболонки
- Bash розширюється та відображається
PS1перед читанням першого рядка команди, а також розгортається та відображаєтьсяPS2перед читанням другого та наступних рядків багаторядкової команди.
Отже, >підказка з'являється, якщо ви натиснете, Enterі Bash визначить, що команда неповна. Це може бути тому, що:
\, який трактується як продовження рядка .$(), (), ``.forциклу, whileциклу чи a case.Якщо ви бачите вторинну підказку через ненавмисну помилку введення, натисніть, ControlCщоб повернутися до первинного запиту.