Aici am răspunde la o solicitare de ajutor am primit săptămâna trecută şi până acum nu am avut timp să răspundă. Am cerut sfatul pe un script bash pe care o procesează un set de directoare şi creează alte temporar în / tmp. Fără a intra în detalii ale cazului, pentru a genera automat liste de director sau de reţele vine la îndemână a bloca extinderea. Acesta este un mecanism special, cu care să vă bash poate genera liste arbitrare de nume de fişiere sau directoare. În acest sens, este similar cu expandarea numelui caii de acces, deşi acesta din urmă este obligat să existenţa de fişiere şi / sau directorul în cauză, în timp ce cu o expansiune de cărbune această limită nu este de aşteptat.

Sintaxa este foarte simplu şi extinderea cu bretele de aşteptat să fie enumerate în şir acolade, care va fi înlocuit în aceeaşi poziţie în şir principal, generând astfel variante de care avem nevoie. Ca întotdeauna, un exemplu este în valoare de o mie de explicaţii:

la {b, c, d} şi

se extinde în:

  • Abe
  • as
  • Hades

Extinderea bretele are prioritate peste tot de extindere alte nevoi şi care conţine acolade de deschidere şi de închidere, şi cel puţin un separator (virgula).

Aici este linia de lipsă de cod pentru scriptul de mai sus:

/bin/mkdir /tmp/{dir_main,dir_all,dir_tmp_1,dir_tmp_2,dir_tmp_3}