Expansion des accolades
Nessun commento » Open Source , Shell , Système , Trucs et astuces Aucun commentaire »
Ici, je répondre à une demande d'aide que j'ai reçue la semaine dernière et jusqu'à présent je n'ai pas eu le temps de répondre.
On me demande des conseils sur un script bash qui traite un ensemble de répertoires et crée d'autres temporairement dans / tmp.
Sans entrer dans les détails de l'affaire, pour générer automatiquement des listes ou des tableaux d'annuaire est très pratique pour caler l'expansion.
Il s'agit d'un mécanisme spécial avec lequel bash, vous pouvez générer des listes arbitraires de noms de fichiers ou de répertoires.
En ce sens, il est semblable à l'expansion chemin, même si ce dernier est lié à l'existence de fichiers et / ou le dossier en question, tandis que l'expansion du charbon de cette limite ne devrait pas.
La syntaxe est très simple et le développement des accolades devraient être cotées dans la chaîne des accolades, qui sera remplacé dans la même position dans la chaîne principale, générant ainsi des variantes que nous avons besoin. Comme toujours, un exemple vaut mille explications:
à {b, c, d} et
se développe en:
- abe
- as
- Enfers
Le développement des accolades a priorité sur toute expansion d'autres besoins et contenant les accolades d'ouverture et de clôture, et au moins un séparateur (une virgule).
Voici la ligne manquante de code pour le script ci-dessus:
/bin/mkdir /tmp/{dir_main,dir_all,dir_tmp_1,dir_tmp_2,dir_tmp_3}







