Mam coś takiego:
% ls -1dF /tmp/foo/*
/tmp/foo/000f9e956feab3ee4625aebb65ae7bae9533cdbc/
/tmp/foo/002e34c2218f2c86fefd2876f0e5c2559c5fb3c4/
/tmp/foo/00b483576791bab751e6cb7ee0a7143af43a8069/
.
.
.
/tmp/foo/fedd0f7b545e7ae9600142656756456bc16874d3/
/tmp/foo/ff51ac87609012137cfcb02f36624f81cdc10788/
/tmp/foo/ff8b983a7411395344cad64182cb17e7cdefa55e/
Chcę utworzyć katalog barw każdym z podkatalogów foo.
Jeśli spróbuję to zrobić
% mkdir -p /tmp/foo/*/bar
... dostaję błąd
zsh: no matches found: /tmp/foo/*/bar
(Z perspektywy czasu rozumiem przyczynę błędu.)
Wiem, że mogę rozwiązać pierwotny problem za pomocą pętli for, ale jestem ciekawy, czy zshobsługuje jakąś formę rozszerzenia parametrów, która wygenerowałaby pożądany argument dla pojedynczego wywołania mkdir -p. IOW, rozszerzenie parametru równoważne „dołączaniu /bardo każdego prefiksu generowanego przez rozwijanie /tmp/foo/*”, w wyniku czego
% mkdir -p /tmp/foo/000f9e956feab3ee4625aebb65ae7bae9533cdbc/bar ... /tmp/foo/ff8b983a7411395344cad64182cb17e7cdefa55e/bar