| #!/bin/bash |
| |
| set -e |
| |
| files=10 |
| folders=2 |
| depth=4 |
| target="$PWD/target" |
| |
| rm -rf target |
| |
| fill () { |
| local depth=$1 |
| local files=$2 |
| local folders=$3 |
| local target=$4 |
| |
| if ! [ -d $target ]; then |
| mkdir -p $target |
| fi |
| |
| local f |
| |
| f=$files |
| while [ $f -gt 0 ]; do |
| touch "$target/f-$depth-$f" |
| let f-- |
| done |
| |
| let depth-- |
| |
| if [ $depth -le 0 ]; then |
| return 0 |
| fi |
| |
| f=$folders |
| while [ $f -gt 0 ]; do |
| mkdir "$target/folder-$depth-$f" |
| fill $depth $files $folders "$target/d-$depth-$f" |
| let f-- |
| done |
| } |
| |
| fill $depth $files $folders $target |
| |
| # sanity assert |
| [ -d $target ] |