Задать вопрос
@na_puti_k_istine

Почему не работает «???»?

Вопросительный знак в bash это знак подстановки, который обозначает один символ. То есть если вы наберете ls ? то будет выведен список файлов, имя которых состоит из одного символа, если вы наберете ls ??, то выведутся имена файлов, состоящие из двух букв, ls ???? - из четырех и т.д. Но если ввести три вопросительных знака, выведутся все файлы подряд, как если бы вы ввели просто ls. Отчего это так??? Почему три вопросительных знака не делают то, что должны делать??
  • Вопрос задан
  • 105 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Mystray
@Mystray
NOC
На GNU bash, version 4.2.46(1)-release (x86_64-redhat-linux-gnu) работает именно так, как положено.

Возможно, в шаблон попадает какой-то каталог, и ls выводит его содержимое. Если это не то, что нужно, добавьте ключ -d (он запрещает выводить содержимое каталога, вместо этого выводит инфу по самому каталогу) :
[root@centos etc]# ls -dF ???
gss/  opt/  pki/  ppp/  rpc  rpm/  ssh/  ssl/  X11/  xdg/  yum/

(-F для того, чтоб отличить простые файлы от непростых)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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