13

Я случайно набрал ls' и получил интерактивный интерфейс: > Что это?

Я пробовал поиск в интернете, ничего не нашел.

3 ответа3

34

Такое поведение является дистро-агностиком. Вы имели открытую цитату, оболочка отображающей $PS2 глобальные переменный $PS2 > в вашем выводе) в то время как вторая цитата отсутствует.

Вместо этого вы можете изменить PS2 на то, что вы хотите:

Пример: export PS2=">>>"

Значение $ PS2 выводится (после раскрытия) как дополнительная подсказка для получения дополнительных данных, когда bash работает в интерактивном режиме. Смотри man bash , под PROMPTING.

5
-bash-4.1$ ls'
>

это означает, что вы открыли длинную строку с помощью ' и не закрыли ее, поэтому bash ожидает, пока строка (аргумент) не закончится '

Используйте ls без ' в конце.

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .