ls --ignore
для подразумеваемых записей, например, при выводе содержимого каталога без -d
или в рекурсивном списке с ls -R
.Он не работает с записями, которые передаются в командной строке, что вы сделали с /app/packages/*/
.Важно то, что это оболочка, которая расширяет глобус *
, а не ls
, поэтому, что касается ls
, каталог frontend
явно записан.
Вы можете использовать функции оболочки, чтобы пропуститьконкретный каталог.Этот расширенный глобус будет перечислять все каталоги, кроме frontend
:
ls -d /app/packages/!(frontend)/
(В скрипте вам потребуется shopt -s extglob
. Расширенные глобусы обычно включены по умолчанию в интерактивных оболочках, но отключены в скриптах.)