一次创建完整目录树

Jam*_*mes 27 linux bash

我想在bash脚本中创建一个复杂的目录结构,并认为以下内容可行:

mkdir -p tmpdir/{trunk/sources/{includes,docs},branches,tags}
Run Code Online (Sandbox Code Playgroud)

这将创建:

          tmpdir
    ________|______
   |        |      |
branches   tags  trunk
                   |
                 sources
               ____|_____
              |          |
          includes     docs
Run Code Online (Sandbox Code Playgroud)

但是,当我运行我的脚本时,我最终得到:

tmpdir
   |
trunk
Run Code Online (Sandbox Code Playgroud)

有没有一种快速简便的方法来做到这一点,或者我将不得不诉诸

mkdir -p tmpdir/trunk/sources/includes
mkdir -p tmpdir/trunk/sources/docs
mkdir -p tmpdir/branches
mkdir -p tmpdir/tags
Run Code Online (Sandbox Code Playgroud)

Grz*_*Żur 15

将shebang改为

#!/bin/bash
Run Code Online (Sandbox Code Playgroud)

使用bash运行脚本,因为它支持大括号扩展.

问题是您使用的是不支持它的shell.你/bin/sh没有指出,/bin/bash但有点像/bin/dash.

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