що означає "ls" у Linux?


13

Я випадково набрав ls'і отримав інтерактивний інтерфейс: > що це?

Я спробував пошук в Інтернеті, нічого не знайшов.

Відповіді:


34

Така поведінка є дистрофічно агностичною. У вас була відкрита цитата, оболонка відображає $PS2глобальну змінну ( $PS2є >у вашому виході), а друга цитата відсутня.

Ви можете змінити PS2 тим, що хочете замість цього:

Наприклад: export PS2=">>>"

Значення $ PS2 друкується (після розширення) як вторинний запит на отримання більшої кількості даних, коли bash працює в інтерактивному режимі. Дивіться в man bashрозділі ПРОДУКЦІЯ.


2
У вас хороші очі, щоб помітити бродячу єдину цитату.

1
Додана інформація: Щоб вийти, просто введіть ще одну єдину цитату або натисніть ctrl-c.
жовтня

Не зовсім читання stdin; ви можете ввести багаторядкову цитату в сценарій або щось так само; але вторинна підказка відображається під час інтерактивного сеансу, коли ви вводите новий рядок всередині цитованого рядка, незакінченого циклу тощо
tripleee

1
Краще використовувати ctrl-d, а не ctrl-c як EOF (End Of File)
Жил Кінот

спасибі, BTW, що означає PS2?
Андерс Лінд

5
-bash-4.1$ ls'
>

це означає, що ви відкрили довгу рядок з, 'а не закрили її, так що bash очікує завершення рядка (аргументу)'

Використовуйте lsбез 'кінця.


0

"PS" означає (ймовірно) "рядок підказок". PS1 - це те, що оболонка відображатиметься як командний рядок процесу оболонки. PS2 відображається тоді, коли для виконання команди потрібен подальший ввід (рядок без котирування, читання від stdin тощо). man bashпотім знайдіть PS1 або PS2 ( /PS[12]<CR>)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.