Имена файлов с пространством, показывающим 'именем файла' после обновления 18,04

После обновления 18,04, от 16,04, все имена файлов с пробелами показывают как 'file name'. Ранее это было просто file name. Имена файлов без пространства обычно обнаруживаются:

$ ls
 bar  'foo bar'

В то время как это не влияет на функциональность всегда, я нахожу это визуально созданием помех.

Я использую bash как оболочка.

Как я могу удалить '' показ вокруг имен файлов с пробелами?

23
задан 31 December 2018 в 09:11

2 ответа

Это ls изменение поведения было с 2016, но наконец делает, это - путь в Ubuntu.

Возвращать старое использование поведения ls -N.

Дополнительно можно использовать переменную окружения:

QUOTING_STYLE=literal ls

Сделайте это псевдонимом или установите export QUOTING_STYLE=literal в Вашем ~/.bashrc достигнуть старого поведения.

Можно прочитать ссылку выше для получения дополнительной информации включая историю того, когда, где, почему и как это все оказалось. Существует довольно много комментариев при авторе изменений ls, где он выравнивает по ширине новое поведение:

Несколько точек об изменении.

  • Это было представлено в coreutils v8.25 и выравнивании, улучшенном в v8.26
  • Это только происходит, когда вывод к терминалам так не повреждает сценарии
  • Это снимает неоднозначность вывода для пользователей для файлов, содержащих пробел
  • Это санирует вывод, таким образом, безопасно скопировать и вставить
  • Вывод теперь всегда допустим, чтобы скопировать и вставить назад для окружения
  • Пользователи могут возвратиться к старому формату путем добавления -N к их ls псевдоним
33
ответ дан 23 November 2019 в 01:25

Это ls это заключает в кавычки вывод, выполненный:

ls -N

получить вывод без любого заключения в кавычки.

man ls

- N, - литерал

запись печати называет без заключения в кавычки


Исказите его, если Вы хотите:

echo "alias ls='ls -N'" >> .bashrc
12
ответ дан 23 November 2019 в 01:25

Другие вопросы по тегам:

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