У меня есть структура каталогов, как это:
.
├── dir
│ └── src
│ └── file.c
├── dir_a1
│ └── src
│ └── file.c
└── dir_a2
└── src
└── file.c
Когда я запускаю следующую команду, результаты ожидаются:
echo dir{,_a[12]}/**/*.c
#
dir/src/file.c
dir_a1/src/file.c
dir_a2/src/file.c
Если я удалю file.c из dir_a2, результаты все равно будут в порядке:
rm dir_a2/src/file.c
echo dir{,_a[12]}/**/*.c
#
dir/src/file.c
dir_a1/src/file.c
Но когда я удаляю file.c из dir, результаты для этого каталога портятся:
rm dir/src/file.c
echo dir{,_a[12]}/**/*.c
#
dir/**/*.c
dir_a1/src/file.c
Почему bash решил удалить результат расширения для dir_a2, а не для dir?
globstar включен в оболочке.