34

私は bash スクリプトで複雑なディレクトリ構造を作成したいと考えており、次のように動作するという印象を受けました。

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

作成するもの:

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

ただし、スクリプトを実行すると、次のようになります。

tmpdir
   |
trunk

これを行うための迅速かつ簡単な方法はありますか、それとも頼る必要がありますか

mkdir -p tmpdir/trunk/sources/includes
mkdir -p tmpdir/trunk/sources/docs
mkdir -p tmpdir/branches
mkdir -p tmpdir/tags
4

2 に答える 2

18

シバンをに変更

#!/bin/bash

ブレース展開をサポートしているため、bash でスクリプトを実行します。

問題は、それをサポートしていないシェルを使用していることです。あなたは指しているのではなく、のようなものを/bin/sh指しています。 /bin/bash/bin/dash

https://wiki.ubuntu.com/DashAsBinSh#A.7B

于 2013-07-16T10:59:11.717 に答える