Почему я вижу % в конце строки при запуске файла cat cmd

Это можно сделать хотя бы в zsh. Аналогичная вещь встроена в fzf , где вы можете нажать Alt+C , чтобы перейти в каталог с помощью нечеткого выбора :

.

Вместо fzf можно было бы предположительно использовать предложенный вами icdинструмент.

Я не верю, что это можно сделать в соответствии с -POSIX.

2
15.05.2021, 00:25
1 ответ

Это способ zsh показать, что ваш файл заканчивается незавершенной строкой . Вы увидите нечто подобное с оболочкой fish, которая (путано )использует символ там, где он доступен, или ^Jв противном случае.

С большинством других оболочек (или с zsh, если вы отключите эту функцию ), вы увидите подсказку сразу после afgв той же строке, а с некоторыми оболочками могут возникнуть сбои отображения, потому что оболочка ожидает, что подсказка будет на левом поле.

Обычно в Unix -подобных системах символ новой строки является разделителем строки :каждая строка должна заканчиваться символом новой строки. Текстовый файл состоит из последовательности строк, поэтому непустой -текстовый файл всегда заканчивается символом новой строки. (Это отличается от Windows, где последовательность символов новой строки (CR+LF )обычно является разделителем строк, поэтому текстовые файлы часто не заканчиваются разрывом строки.)

Некоторые средства обработки текста неправильно обрабатывают последнюю строку файла, если она не завершается символом новой строки, хотя большинство современных программ автоматически добавляют последний символ новой строки, если он отсутствует.Отсутствие последней строки новой строки может иметь неожиданные последствия; например, если вы объединяете файл с другим файлом, afgбудет объединен с первой строкой другого файла, а не с отдельной строкой.

Многие редакторы автоматически заканчивают файлы символом новой строки, так что они являются допустимыми текстовыми файлами. Те, которые систематически не делают этого по умолчанию, обычно могут быть настроены на это.

6
28.07.2021, 11:32

Теги

Похожие вопросы