Unix: Что произойдет, если я введу ls -d *

Будет ли он просто игнорировать бит после опции -d, поскольку вы не можете размещать символы лексически между 2 и q?

One Solution collect form web for “Unix: Что произойдет, если я введу ls -d *”

Да символы могут быть расположены лексически между 2 и q. Сделайте ls /bin и вы увидите, что цифры идут до букв. Фактически вы можете сделать ls /bin/[2-q]* и сами убедиться, что происходит.

Лексическая сортировка в локали «C» имеет значение ASCII, поэтому «2» равно 32 десятичным, а «q» – 71. Сделайте man ascii чтобы увидеть всю таблицу ASCII.

Возможно, вы хотели спросить, что произойдет, если вы укажете нелегальный лексический диапазон? Вы можете попробовать:

% ls / bin / [q-2] *
ls: невозможно получить доступ / bin / [q-2] *: нет такого файла или каталога

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

  • imagemagick - многократное расширение
  • Найти строку только в определенном файле внутри подкаталогов
  • Почему моя находка не рекурсивна?
  • SFTP chroot jail / access на основе шаблона
  • Shell glob - заменить файл path arg с содержимым файла
  • Копирование одного файла в несколько каталогов
  • Почему эта команда поиска не работает? Regex & Найти варианты для файлов .mp3 .wav и .m4a
  • Почему Bash возвращает «Нет такого файла ..», когда шаблон соответствует этой строке?
  • Как проверить, существует ли несколько файлов?
  • Разделение большого дерева каталогов по типу файла
  • Создайте список файлов из файла, содержащего ряд шаблонов глобусов
  • Linux и Unix - лучшая ОС в мире.