La création d'une arborescence de répertoires à la fois

Je voudrais créer une complexe structure de répertoire dans un script bash et avait l'impression que la suivante devrait fonctionner:

mkdir -p tmpdir/{trunk/sources/{includes,docs},branches,tags}

Ce qui donnerait:

          tmpdir
    ________|______
   |        |      |
branches   tags  trunk
                   |
                 sources
               ____|_____
              |          |
          includes     docs

Cependant quand je lance mon script, je me retrouve avec:

tmpdir
   |
trunk

Est-il un moyen facile et rapide de faire ceci ou vais-je avoir recours à des

mkdir -p tmpdir/trunk/sources/includes
mkdir -p tmpdir/trunk/sources/docs
mkdir -p tmpdir/branches
mkdir -p tmpdir/tags
  • Je l'ai juste testé et a travaillé pour moi, la façon que vous désirez. Je suis avec mkdir (GNU coreutils) 8.13
  • J'ai le sentiment que c'est le même problème comme ceci: stackoverflow.com/questions/17673337/...
  • Vous êtes parfaitement sûr que le shell que vous utilisez dans le shebang (#!) peut le faire? Est-il /bin/bash ou est-il /bin/sh pointant vers /bin/dash dans Debian ou Ubuntu? Si ne pas le changer pour /bin/bash et essayez de nouveau.
  • Le moyen le plus facile de trouver quoi mettre après le shebang est d'utiliser le which bash de commande. Il retourne la chaîne de caractères exacte que vous souhaitez.
InformationsquelleAutor James | 2013-07-16