zsh удалить подкаталог с подстановочным знаком в пути - PullRequest
0 голосов
/ 29 мая 2020

Для структуры каталогов:

└── bar
    ├── first
    │   └── tmp
    └── second
        └── tmp

Я хочу удалить все tmp каталоги. Однако

rm -rf 'bar/*/tmp/'                                

не удаляет каталог

ls bar/*/                                          

по-прежнему возвращает оба tmp каталога:

bar/first/:
tmp

bar/second/:
tmp

1 Ответ

1 голос
/ 30 мая 2020

ваша проблема здесь в одинарных кавычках

rm -rf 'bar/*/tmp/'          

, если вы удалите их, все будет в порядке.

rm -rf bar/*/tmp

Причина в том, что одинарные кавычки в (большинство, если не все) языков оболочки указывает, что содержащаяся в ней строка символов должна рассматриваться полностью как строка, которая игнорирует подстановку, которую вы пытаетесь сделать.

...