Ici je répondre à une demande d'aide que j'ai reçue la semaine dernière et je n'ai pas jusqu'à présent 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 de répertoire il ya une consolation dans l'expansion du charbon. C'est un mécanisme spécial avec lequel bash, vous pouvez générer des listes arbitraires de noms de fichiers ou 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 répertoire en question, tandis que l'expansion de charbon de cette limite n'est pas prévu.

La syntaxe est très simple d'expansion de l'incendie et devraient être cotées dans la chaîne des accolades 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

étend à:

  • abe
  • ACE
  • Enfers

L'expansion des accolades est prioritaire sur tous les autres l'expansion et doit contenir l'ouverture et la fermeture des accolades, 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}

Partager ce contenu:
  • del.icio.us
  • Google Bookmarks
  • Digg
  • Facebook
  • Technorati
  • MySpace
  • Twitter