Wednesday 9.7.2014 21:39:57, Jakuje
Že jste ještě nikdy neviděli v bashi napsané toto?
A k čemu to slouží? V českém překladu to lze nazvat "Expanze závorek" a jedná se o mocný nástroj pokud člověk potřebuje pracovat s více soubory v rámci jednoho příkazu. Pod pojmem "Brace expansion" je zahrnuto několik syntaktických forem, které je dobré znát, pokud člověk pracuje často v bashi.
Jedná se o mechanismus generování řetězců, velmi podobný "Filename Expansion".
Formy příkazu
První formou je výše zmíněný výčet, který obsahuje jednotlivé části, které jsou použity ve výsledných řetěcích. Výše zmíněný příklad se tedy rozvine na seznam celých cest k adresážům umístěným ve složce /usr/local/src/bash/.
Druhou formou je interval, který má formu {START..KONEC..INKREMENT}, přičemž inkrement je nepovinný a pokud není zadán, použije se 1 nebo -1. Příkladem může být výběr souborů jména daného rozsahem čísel:
Tato forma také umí pracovat se sekvencemi znaků.
A to nejlepší na závěr, tyto příkazy lze vnořovat! Pokud bychom tyto znaky chtěli použít, aby nebyla provedena expanze, je potřeba znaky "{", případně "," escapovat pomocí zpětného lomítka.
Mým oblíbeným použitím je zobrazení rozdílu dvou souborů v různých projektech:
# provede expanzi na:
meld zkusebna/module/Menu.php akzk/module/Menu.php