我想在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
答案 0 :(得分:15)
将shebang改为
#!/bin/bash
使用bash运行脚本,因为它支持大括号扩展。
问题是您使用的是不支持它的shell。您的/bin/sh
并未指向/bin/bash
,而是指向/bin/dash
。
答案 1 :(得分:0)
您可以尝试使用tree。
sudo apt install tree
tree -d .
这是打印控制台式树目录结构的好工具:
├── logstash
│ ├── afolder
│ ├── bfolder
│ └── mappings
├── elastic
│ └── afolder
└── reports
└── afolder