setup.sh 602 字节
#!/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 ]