утилита ls не может интерпретировать неоднозначные ссылки на файл?

В одном из моих любимых учебников Linux я нашел оператор этим ls утилита не может интерпретировать неоднозначные ссылки на файл. Аргумент, более или менее, идет как это: "Сначала ls назван с аргументом ?old. Оболочка расширяется ?old в имя файла соответствия, hold, и передачи то имя к ls. Вторая команда совпадает с первым, кроме ? защищен с '\'. Оболочка не распознает этот вопросительный знак как специальный символ и передает его ls. ls также не может интерпретировать его:

$ ls ?old
hold
ls \?old
ls: ?old: No such file or  directory

Мой вопрос: здесь это - Shell, который не может интерпретировать из-за обратной косой черты. Так, этот пример не показывает только это с обратной косой чертой ни оболочка, ни ls может интерпретировать неоднозначную ссылку на файл. Это не доказывает это без обратной косой черты ls не может интерпретировать неоднозначные ссылки на файл. Что я понял превратно здесь?

0
задан 16 July 2018 в 22:34

1 ответ

  • Без обратной косой черты: оболочка интерпретирует ?, расширяется ?old кому: hold, и так аргумент это ls получает hold.
  • С обратной косой чертой: оболочка не интерпретирует ?, но это действительно интерпретирует \? означать литерал ?, и передачи это как ? кому: ls. Так аргумент это ls получает ?old. ls не видит обратную косую черту.
5
ответ дан 28 October 2019 в 08:14

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

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