Bash скрывает скрытые файлы

Я пытаюсь использовать следующие шарики в оболочке bash:

$ ls -d .* . .. .a .ab $ ls .a* .a .ab $ ls .[!.]* .a .ab $ ls .[!.]?* .ab 

Разве последнее выражение не должно означать «точка, за которой следует ровно одна точка, а не ноль или более символов»? Почему это не соответствует .a ?

One Solution collect form web for “Bash скрывает скрытые файлы”

Вы ошибаетесь. Это означает «точка, за которой следует ровно одна точка без точки, за которой следует один символ, за которым следуют ноль или более символов». .a не имеет достаточного количества символов для его соответствия.

Но на самом деле, просто установите dotglob .

  • для провалов цикла
  • Odd alias "find. -name '* \! {*} *' -ls "в Unix Power Tools
  • Как использовать подстановочные знаки (*) при копировании с помощью scp?
  • Изменение имен файлов на основе окружения
  • Найти строку только в определенном файле внутри подкаталогов
  • Работа rm / ls с
  • Как я могу закрепить содержимое текущего каталога минус все скрытые файлы?
  • bash - extglob 2-й оператор «нуль или больше» не работает
  • Specifiy Unix TimeStamp Range в параметре
  • rm -rf все файлы и все скрытые файлы. & .. ошибка
  • можно ли открывать файлы в подкаталогах с меньшим?
  • Linux и Unix - лучшая ОС в мире.