Оскільки Bash 4 (також включаючи zsh) додано новий варіант глобалізації ( globstar
), який трактує шаблон по- **
різному, коли він встановлений.
Це узгодження шаблону підстановки та повернення імен файлів та каталогів, які відповідають тому, замінивши шаблон шаблону в команді на відповідні елементи.
Зазвичай, коли ви користуєтеся **
, він працює аналогічно *
, але він рекурсує всі каталоги рекурсивно (як цикл).
Щоб побачити, чи ввімкнено це, перевірте це за допомогою shopt globstar
(сценаріїв, використання shopt -q globstar
).
Приклад **.py
може працювати лише для поточного каталогу, оскільки він не повертає список каталогів, який може бути повторним, тому для цього вам потрібно використовувати декілька підстановок на рівні каталогів **/*.py
, щоб він заглиблювався.
Будь ласка, знайдіть на ТАКІ кілька тестів на синтаксис, які я зробив для пошуку рекурсивних файлів.
nullglob